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

   ## Goal
   Allow operators to see whether a configuration change was actually applied 
by a gateway. A live sync connection or successful server send must not be 
displayed as proof of application.
   
   Current [instance 
reporting](https://github.com/apache/shenyu/blob/66d7d954ca37d651a5ad916f988a8081157a7ab4/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/InstanceCheckService.java#L122)
 tracks presence, while [WebSocket 
synchronization](https://github.com/apache/shenyu/blob/66d7d954ca37d651a5ad916f988a8081157a7ab4/shenyu-sync-data-center/shenyu-sync-data-websocket/src/main/java/org/apache/shenyu/plugin/sync/data/websocket/client/ShenyuWebsocketClient.java#L438)
 has configuration application and recovery behavior. Reuse these boundaries 
and existing reporting transports.
   
   ## Scope
   1. Define channel-neutral observation fields: configuration source, 
connection state, last successful application time, applied digest/revision 
where meaningful, bounded failure reason/count and configuration object counts.
   2. Before adding a desired-versus-applied display, define version/revision 
ownership and granularity. Per-group/per-namespace versions must not imply one 
atomic global configuration transaction.
   3. Send application acknowledgements only after relevant subscriber/handler 
application succeeds. Audit error-swallowing paths so failed updates cannot 
generate false success.
   4. In Admin show applied, pending, failed, stale/unknown and unsupported 
distinctly, with request/change correlation and received observation time.
   5. Compare only instances belonging to the selected 
deployment/namespace/source. For file/Kubernetes modes, display the 
source-specific state without inventing an Admin desired revision.
   
   ## Acceptance criteria
   - [ ] A connected gateway with failed configuration application shows 
failure rather than synchronized.
   - [ ] Sent-but-unacknowledged, applied, unsupported and stale cases are 
tested.
   - [ ] Snapshot, empty-snapshot deletion, incremental updates, partial 
failures, reconnect, duplicate/out-of-order acknowledgements and restart 
identities have defined semantics.
   - [ ] Backward-compatible optional frames/fields do not break older clients 
or Admins.
   - [ ] Status remains coherent across Admin failover and preserves namespace 
isolation.
   - [ ] Report traffic/storage is bounded; acknowledgements do not create a 
second configuration writer or block business traffic.
   - [ ] Dashboard shows rollout progress with accurate denominators and 
explains unsupported channels; initial support may be WebSocket with other 
channels explicitly marked.
   
   Related: #7692/#7697, snapshot performance #7645, file mode #7652. This is a 
new operational capability, not a claim that current synchronization lacks 
reconnect/full-snapshot recovery.
   


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