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

   ## Description
   `if (CollectionUtils.isEmpty(data))` is true when `data` is null, then the 
next line `data.forEach(pluginDataSubscriber::unSelectorSubscribe)` 
dereferences null → NPE. Contrast 
`PluginDataRefresh`/`DiscoveryUpstreamDataRefresh`/`ProxySelectorRefresh` which 
return early correctly.
   
   ## Location
   - 
`shenyu-sync-data-center/shenyu-sync-data-http/src/main/java/org/apache/shenyu/sync/data/http/refresh/SelectorDataRefresh.java:72-74`
   - 
`shenyu-sync-data-center/shenyu-sync-data-http/src/main/java/org/apache/shenyu/sync/data/http/refresh/RuleDataRefresh.java:72-74`
   
   ## Impact
   If the admin returns a response where selector or rule data deserializes to 
null, the HTTP refresh thread NPEs; the retry loop hits the same NPE for 10 
attempts then sleeps 5 minutes, blocking selector/rule sync.
   
   ## Suggested fix
   Add `return;` inside the `isEmpty(data)` branch (as the sibling refreshes 
do).
   
   ## Related existing
   None.
   


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