Baoyuantop commented on issue #12973:
URL: https://github.com/apache/apisix/issues/12973#issuecomment-3956311515

   Hi @zbfzn, thank you for providing such a detailed and insightful bug 
report. 
   
   From your description and the logs, it seems your diagnosis is correct. The 
issue likely lies in the upstream node comparison logic, where APISIX fails to 
update the `nodes` list after DNS resolution recovers. When the DNS service 
fails, the list of resolved IPs becomes empty. After the DNS service is 
restored, even though new IPs are resolved, the `compare_upstream_node` 
function might incorrectly determine that no changes have occurred because the 
original domain name configuration in `original_nodes` hasn't changed. This 
prevents the empty `nodes` list from being updated with the newly resolved, 
valid IP addresses, leading to the persistent 503 errors.
   
   We have marked this as a bug and will prioritize its investigation. Our team 
will follow your reproduction steps to verify the behavior and work on a fix 
based on your findings. The fix will likely involve adjusting the comparison 
logic to correctly identify a change when the resolved IPs are updated, 
especially when recovering from an empty state.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to