qqeasonchen opened a new pull request, #5366:
URL: https://github.com/apache/eventmesh/pull/5366

   ## What this PR does
   
   Adds `docs/architecture-review/production-ha-plan.md` — the executable plan 
that restructures the production-HA acceptance work (#5352 / #5353 / #5354) 
into a tracked topology, in the same shape as the closed #5296 review.
   
   ### The 10-issue topology
   
   | Phase | Severity | Issues |
   |---|---|---|
   | 0 — Enforcement (arch-guard) | P0 | #5356 ban poll-all + 
`InMemoryMetaStore`, #5357 ban mutable `EventMeshFrame`, #5358 ban raw quota 
calls |
   | 1 — Wiring | P0 | #5359 `DeliveryTopology`/`MetaStore`/`FencingToken` boot 
wiring, #5360 fencing epoch propagation, #5361 `FrameLimits` |
   | 2 — Production behavior | P1 | #5362 `QuotaHandle` + A2A op 
classification, #5363 Testcontainers cross-instance takeover tests |
   | 3 — Chaos + ops | P1 | #5364 chaos + rolling upgrade + admin security |
   | 4 — Docs + evidence | P2 | #5365 doc sync + acceptance evidence |
   
   All 10 tracking issues are already opened and attached to parent #5354 as 
GitHub sub-issues (along with #5352 and #5353 — 12 children total).
   
   ### What the plan document contains
   
   1. **Topology table** — Phase, Severity, dependency graph (`Depends on` / 
`Blocks`) for each issue.
   2. **Phase breakdown** — per-issue scope, why the severity rating, and the 
concrete ArchUnit rule names / class changes.
   3. **Acceptance criteria → issue mapping** — all 21 criteria from the three 
parent issues' bodies mapped to exactly one owning issue each (A1-A5 from 
#5352, B1-B6 from #5353, C1-C10 from #5354).
   4. **PR plan** — one PR per issue, with branch names, approximate file 
lists, and local verification commands (each Sub-PR is verifiable with a local 
`./gradlew` command even during the ongoing Actions platform outage).
   5. **Sequencing rationale** — Phase 0 first (cheap guards stop regression), 
Phase 1 sequential wiring, Phase 2/3 parallel.
   6. **Open risks** — CI outage impact, Testcontainers E2E scope, 
`LOCAL_STICKY_PULL` multi-instance semantics documentation.
   
   ### Verification
   
   Docs-only PR. The plan references only classes/files that exist at the 
current develop tip (`b08e591ac`):
   
   - 
`eventmesh-runtime/.../cluster/{DeliveryTopology,PartitionOwnership,MetaStore,InMemoryMetaStore,FencingToken}.java`
 — verified present
   - 
`eventmesh-runtime/.../security/gate/{SecurityGate,QuotaManager,RequestContext}.java`
 — verified present, `tryAcquire` has no paired `release` at call sites (the 
#5362 gap)
   - `eventmesh-common/.../wire/EventMeshFrame.java` — verified present (361 
lines), mutable-map exposure confirmed
   - `UniRuntime.java` — confirmed: no `MetaStore` field, no `DeliveryTopology` 
validation at boot (the #5359 gap)
   
   Cross-link check: every issue number #5356-#5365 in the doc matches an 
existing open issue (verified via the GitHub sub-issue list of #5354).
   
   ### Relations
   
   - Parent tracking issue: #5354
   - Sub-issues created and linked: #5356 #5357 #5358 #5359 #5360 #5361 #5362 
#5363 #5364 #5365
   - Original scope issues: #5352 #5353
   - Predecessor review (closed): #5296, evidence at 
`docs/architecture-review/evidence.md`
   
   Co-authored-by: qqeasonchen <[email protected]>
   


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to