Skip to content

bug: nacos node failure should not corrupt in-memory data #11252

Open
@zuiyangqingzhou

Description

@zuiyangqingzhou

Current Behavior

https://github.com/apache/apisix/blob/master/apisix/discovery/nacos/init.lua#L354-L358

The above code logic only determines whether the MD5 value of the new data is equal to that of the data in memory, but does not verify that the new data obtained is empty.

Because if an exception occurs in the nacos service, the new data obtained may be empty, causing the data in memory to be updated incorrectly.

Expected Behavior

nacos node failure should not corrupt in-memory data

Error Logs

No response

Steps to Reproduce

  1. start apisix normally and configure nacos service discovery
  2. you need to set the nacos service as a failure while the service is running. (Note that nacos services do not require authentication)

Environment

  • APISIX version (run apisix version):
  • Operating system (run uname -a):
  • OpenResty / Nginx version (run openresty -V or nginx -V):
  • etcd version, if relevant (run curl http://127.0.0.1:9090/v1/server_info):
  • APISIX Dashboard version, if relevant:
  • Plugin runner version, for issues related to plugin runners:
  • LuaRocks version, for installation issues (run luarocks --version):

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

Status

🏗 In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions