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

   ## Description
   
   Follow-up to the plugin orchestration review against master `34f2ed036` and 
design PR #8007 (`f2839049c`). Parent proposal: #7993. Owning 
implementation/design task: #7998. Related tasks: #7999, #8001.
   
   This issue refines the existing work breakdown; it does not assert that 
GRAPH execution is already implemented or that the proposed design has been 
accepted. HTTP/RPC API aggregation and parallel plugin execution remain out of 
scope.
   
   ## Problem
   
   WebSocket synchronization already tracks request IDs, frame sequences, 
application completion and a startup latch. Graph readiness additionally 
requires installed plugins, usable mandatory configuration and successful plan 
compilation/activation. Setting the existing sync latch does not establish that 
GRAPH can accept requests; adding an unrelated second sync protocol would 
duplicate existing mechanisms. InitialSyncState is connection-local, which must 
remain true for graph synchronization.
   
   ## Code and design evidence
   
   - [connection-local initial application 
tracking](https://github.com/apache/shenyu/blob/34f2ed036/shenyu-sync-data-center/shenyu-sync-data-websocket/src/main/java/org/apache/shenyu/plugin/sync/data/websocket/client/InitialSyncState.java)
   - [initial frames and incremental 
application](https://github.com/apache/shenyu/blob/34f2ed036/shenyu-sync-data-center/shenyu-sync-data-websocket/src/main/java/org/apache/shenyu/plugin/sync/data/websocket/client/ShenyuWebsocketClient.java)
   - [group dispatch and authoritative namespace 
snapshots](https://github.com/apache/shenyu/blob/34f2ed036/shenyu-sync-data-center/shenyu-sync-data-websocket/src/main/java/org/apache/shenyu/plugin/sync/data/websocket/handler/WebsocketDataHandler.java)
   - [group-specific snapshot 
support](https://github.com/apache/shenyu/blob/34f2ed036/shenyu-sync-data-center/shenyu-sync-data-websocket/src/main/java/org/apache/shenyu/plugin/sync/data/websocket/handler/AbstractDataHandler.java)
   
   ## Task List
   
   - Integrate the graph group with existing initial/full/incremental 
application boundaries and transport capability negotiation.
   - Model received/applied/plugin-ready/compiled/active states without 
treating sync completion as activation acknowledgment.
   - Specify startup ordering, late plugin/config arrival, authoritative empty 
snapshots, deletion and namespace replacement.
   - Ensure LEGACY readiness is not blocked by unused invalid graph candidates; 
GRAPH without its required active plan rejects.
   - Extend HTTP readiness equivalently without assuming WebSocket frame/latch 
details apply to HTTP.
   
   ## Acceptance criteria
   
   - Configuration sync can finish before delayed graph activation without 
falsely reporting GRAPH ready.
   - Tests cover multiple connection-local subscribers, reordered data, late 
dependencies, reconnect, empty snapshot, delete and compile failure.
   - Per-instance activation status is distinguishable from admin publication 
and transport receipt.
   - No implicit fallback to LEGACY on graph startup failure.
   
   ## Dependencies and sequencing
   
   Resolve the contract portion in #7994 / PR #8007 before depending 
implementation hardens this assumption. Deliver code and integration coverage 
under #7998 and the related tasks above. Existing issue dependencies remain in 
effect; this issue adds a focused review requirement rather than a duplicate 
full implementation task.
   


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