grapestore opened a new pull request, #12987: URL: https://github.com/apache/apisix/pull/12987
### Description This PR fixes an issue where the healthchecker was not created due to a version mismatch, causing health checks for DNS-based upstreams to not work. The mismatch occurred because `parse_domain_in_up()` modified `modifiedIndex` in memory, while `_nodes_ver` was not persisted in the config. As a result, `fetch_checker` and `healthcheck_manager` calculated different versions for the same upstream. #### How to reproduce 1. Configure an upstream with two DNS-based nodes. 2. Enable active and passive health checks. 3. Start APISIX. Both active and passive health checks do not work because the healthchecker is not created. This PR ensures that: - `modifiedIndex` remains unchanged - `_nodes_ver` is set with a timestamp when nodes are updated - `_nodes_ver` and updated nodes are persisted to the config With these changes, both components calculate the same version and the healthchecker is created correctly. #### Which issue(s) this PR fixes: Fixes # ### Checklist - [x] I have explained the need for this PR and the problem it solves - [x] I have explained the changes or the new features added to this PR - [ ] I have added tests corresponding to this change - [ ] I have updated the documentation to reflect this change - [x] I have verified that this change is backward compatible -- 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]
