Aias00 opened a new issue, #6576:
URL: https://github.com/apache/shenyu/issues/6576

   ## Description
   There is no coalescing anywhere. `SelectorServiceImpl.importData` calls 
`create(selectorDTO)` per imported row -> one `DataChangedEvent` per row. 
`AbstractDataChangedListener.onSelectorChanged` rebuilds the entire namespace 
cache per event (`updateSelectorCache` -> `listAll()`) with no debounce window. 
So K rapid selector changes = K full-namespace scans + K MD5 hashes of the 
entire selector JSON + K broadcasts to every gateway.
   
   ## Location
   ```
   
shenyu-admin/.../service/impl/SelectorServiceImpl.java:478-525,529-588,228-239,242-277
   RuleServiceImpl mirrors; AbstractDataChangedListener.java:233-240,353-395
   ```
   
   ## Impact
   A 1000-row selector import fires 1000 sequential full-namespace cache 
rebuilds and 1000 broadcasts to every gateway.
   
   ## Suggested fix
   Batch events at the service layer (publish one event with the full changed 
list, or coalesce in a short time window); have `AbstractDataChangedListener` 
skip the rebuild when an identical-md5 event is already pending.
   
   ## Related existing issue(s)
   None
   
   _Identified during the 2026-08-02 audit; full list in 
[`docs/issue-candidates-2026-08-02.md`](docs/issue-candidates-2026-08-02.md)._


-- 
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