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]
