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

   ## Description
   
   Follow-up to the plugin orchestration review against master `34f2ed036` and 
design PR #8007 (`f2839049c`). Parent proposal: #7993. Owning 
implementation/design task: #7994. Related tasks: #7995, #7996, #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
   
   The audit states that a Sentinel-style wrapper inside one exclusive branch 
leaves the shared suffix unguarded. With successor continuations, branch -> 
sentinel -> transform -> common suffix means sentinel wraps transform AND that 
suffix for requests taking the branch. Prefix/suffix-only labels therefore do 
not describe actual runtime scope; a suffix wrapper likewise cannot observe 
already-completed prefix work. Blanket placement rules may reject useful 
branch-specific resilience or misstate what is protected.
   
   ## Code and design evidence
   
   - 
[contract](https://github.com/apache/shenyu/blob/f2839049ca3873cde0b0c8fe6ff519c040dc905a/docs/plugin-graph-orchestration.md)
 §§7 and 9; [compatibility 
audit](https://github.com/apache/shenyu/blob/f2839049ca3873cde0b0c8fe6ff519c040dc905a/docs/plugin-graph-compatibility-audit.md)
 §4.2 and W1
   - [Sentinel downstream 
transform/fallback/finally](https://github.com/apache/shenyu/blob/34f2ed036/shenyu-plugin/shenyu-plugin-fault-tolerance/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/SentinelPlugin.java)
   - [Resilience4J downstream 
wrapping](https://github.com/apache/shenyu/blob/34f2ed036/shenyu-plugin/shenyu-plugin-fault-tolerance/shenyu-plugin-resilience4j/src/main/java/org/apache/shenyu/plugin/resilience4j/Resilience4JPlugin.java)
   - [tracing continuation 
scope](https://github.com/apache/shenyu/blob/34f2ed036/shenyu-plugin/shenyu-plugin-tracing/src/main/java/org/apache/shenyu/plugin/tracing/TracingPlugin.java)
   
   ## Task List
   
   - Correct the scope explanation with control-flow and subscription/unwind 
examples.
   - Define intended protected request sets and downstream regions 
independently from node category.
   - Decide whether branch-local wrappers are supported initially. If excluded, 
label this as an explicit scope limitation, not an inherent incompatibility.
   - Specify fallback, response decorators and cancellation within each 
wrapper's actual downstream lifetime.
   - Keep graph-control convergence distinct from publisher 
completion/unwinding.
   
   ## Acceptance criteria
   
   - A reviewed branch-local wrapper example correctly identifies its 
common-suffix coverage.
   - Tests verify which branch is protected, downstream failure visibility, 
fallback and cleanup.
   - Whole-pipeline protection requirements cannot be satisfied by a node 
placed after the work it must protect.
   - Compiler errors explain the violated scope requirement rather than rely 
solely on prefix/suffix labels.
   
   ## Dependencies and sequencing
   
   Resolve the contract portion in #7994 / PR #8007 before depending 
implementation hardens this assumption. Deliver code and integration coverage 
under #7994 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