Skip to content

bug: attempt to index field 'upstream' (a string value) #12771

@aryayangx-afk

Description

@aryayangx-afk

Current Behavior

APISIX returns 500 status code, and external requests are inaccessible. Checking the error log shows the following error:
lua entry thread aborted: runtime error: /usr/local/apisix/apisix/plugins/traffic-split.lua:208: attempt to index field 'upstream' (a string value)

Expected Behavior

Apisix can run normally without errors, requests are accessible as expected, and the traffic-split plugin functions properly.

Error Logs

  1. lua entry thread aborted: runtime error: /usr/local/apisix/apisix/plugins/traffic-split.lua:208:
    attempt to index field 'upstream' (a string value)

Steps to Reproduce

  1. Create a route with the traffic-split plugin without specifying an upstream ID.
  2. Send a request to this route.
  3. In the APISIX pod, reload the APISIX plugin via the Admin API endpoint: /put/admin/plugins/reload.
  4. Send a request to this route again.

Environment

  • APISIX version (run apisix version):
3.10.0
  • Operating system (run uname -a):
Linux apisix-test-8497c69d5d-9ggxj 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 GNU/Linux
  • OpenResty / Nginx version (run openresty -V or nginx -V):
nginx version: openresty/1.25.3.2
built by gcc 10.2.1 20210110 (Debian 10.2.1-6) 
built with OpenSSL 3.2.0 23 Nov 2023
TLS SNI support enabled
  • etcd version, if relevant (run curl http://127.0.0.1:9090/v1/server_info):
3.5.16
  • APISIX Dashboard version, if relevant:
3.0.1
  • Plugin runner version, for issues related to plugin runners:
Not applicable
  • LuaRocks version, for installation issues (run luarocks --version):
Not applicable

Metadata

Metadata

Assignees

No one assigned

    Labels

    pluginquestionlabel for questions asked by users

    Type

    No type

    Projects

    Status

    ✅ Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions