lymerin opened a new pull request, #6909: URL: https://github.com/apache/shenyu/pull/6909
Fixes #6781. This PR clears stale proxy selector runtime data when HTTP synchronization receives an empty full snapshot. Changes: - propagate empty proxy selector snapshots to subscribers through `refresh()`; - propagate refresh operations to proxy selector handlers; - shut down and remove cached TCP bootstrap servers; - continue clearing remaining servers when one shutdown fails; - avoid a null-pointer race between individual deletion and full refresh; - add unit, integration, and public HTTP synchronization path tests. Although the issue is triggered by HTTP synchronization, `CommonProxySelectorDataSubscriber` is shared. Any synchronization mode that invokes `refresh()` will now clear the TCP proxy selector runtime cache. Tests: - full repository `clean install` passed; - affected 14-module Maven reactor passed; - Checkstyle passed with 0 violations; - `git diff --check` passed. Make sure that: - [x] You have read the [[contribution guidelines](https://shenyu.apache.org/community/contributor-guide)](https://shenyu.apache.org/community/contributor-guide). - [x] You submit test cases (unit or integration tests) that back your changes. - [x] Your local test passed `./mvnw clean install -Dmaven.javadoc.skip=true`. -- 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]
