sunnysabor commented on issue #5580:
URL: https://github.com/apache/shenyu/issues/5580#issuecomment-5942903494

   I checked current `upstream/master` (`09c6a528`). The WebSocket `MYSELF` 
path still calls `refreshPluginDataSelf(dataList)` before iterating 
`onSubscribe` in `PluginDataHandler#doRefresh`; 
`CommonPluginDataSubscriber.refreshPluginDataSelf` delegates to 
`BaseDataCache.cleanPluginDataSelf`, which removes each incoming plugin entry. 
The selector and rule handlers use the same clear-then-apply order. Admin sends 
the namespace's plugin, selector, and rule lists as separate `MYSELF` messages 
from `syncAllByNamespaceId`, so an in-flight request can observe a missing 
entry while a group is being applied.
   
   I also found the earlier attempted fix in closed PR #6381. It is not merged, 
and its description calls out a selector/rule cleanup-granularity limitation, 
so I do not want to reapply it unchanged.
   
   Could you confirm whether this still reproduces on a current 2.7.x build, 
and whether `MYSELF` should be treated as an authoritative per-group snapshot 
for that gateway namespace? That determines how the refresh should retain the 
old cache during application and reconcile entries absent from the new snapshot.
   


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