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]

Reply via email to