Open
Description
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
- start apisix normally and configure nacos service discovery
- 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
ornginx -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
Type
Projects
Status
🏗 In progress