lymerin opened a new pull request, #7769:
URL: https://github.com/apache/shenyu/pull/7769

   Fixes #7753
   
   ### Problem
   
   Namespace-scoped refresh events lose their `namespaceId` when forwarded from 
a non-master Admin to the master. The cluster payload omits this field, and the 
receiver reconstructs the event without it.
   
   For an empty refresh, no records contain the missing namespace. The 
WebSocket listener therefore skips sending the empty snapshot, while the 
forwarding request still returns success.
   
   ### Impact
   
   Gateways with stale configuration do not receive the empty refresh needed to 
clear it. This affects namespace-scoped refreshes for `APP_AUTH`, `PLUGIN`, 
`SELECTOR`, and `RULE`.
   
   ### Changes
   
   Preserve the event's `namespaceId` in the cluster payload and restore it 
when publishing the event on the master. This allows the existing WebSocket 
listener to send empty snapshots to the correct namespace.
   
   Keep the namespace optional for existing events without an explicit 
namespace.
   
   Extend two existing tests to verify namespace preservation through 
empty-refresh JSON serialization and master-side event reconstruction.
   
   ### Validation
   
   - 64 focused `shenyu-admin` tests passed, with no failures, errors, or 
skipped tests.
   - Checkstyle passed.
   
   ### Checklist
   
   Make sure that:
   
   - [x] You have read the [contribution 
guidelines](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