docs(archreview): record #11 CORRECTED (Crit-1 premise) + track residual #12/#13
- FOLLOWUP-11 → IMPLEMENTED with outcome (docs/comment-only, no code revert; the four corrected sites; Cluster.Tests 29/29). - STATUS.md: task #11 → completed; crit1 branch head → eaf78aad; Completed-table row; Findings #11 bullet flipped to CORRECTED; added task rows #12 (live gate) + #13 (ResilienceConfig-in-artifact).
This commit is contained in:
@@ -1,9 +1,31 @@
|
||||
# Follow-up #11 — Correct Critical 1's premise: SBR was already active on master (not NoDowning)
|
||||
|
||||
> **Status:** OPEN · **Surfaced by:** the #9 hard-kill failover test's negative control on
|
||||
> `fix/archreview-crit1-split-brain-resolver` `a25c9ed0` · **Task:** TaskCreate #11 · **Severity:** Low
|
||||
> **Status:** ✅ IMPLEMENTED (`fix/archreview-crit1-split-brain-resolver` `eaf78aad`) · **Surfaced by:** the #9
|
||||
> hard-kill failover test's negative control on `a25c9ed0` · **Task:** TaskCreate #11 · **Severity:** Low
|
||||
> (docs/rationale accuracy; the code change is harmless) · **Effort:** S. See [`STATUS.md`](STATUS.md).
|
||||
|
||||
## Outcome (implemented)
|
||||
|
||||
Docs/comment-only correction landed on the crit1 branch (`eaf78aad`) — **no code reverted** (the typed
|
||||
`KeepOldestOption { DownIfAlone = true }` is correct belt-and-suspenders). Corrected the inaccurate
|
||||
"HOCON inert / cluster runs NoDowning / never fails over" framing in all four places it appeared:
|
||||
|
||||
1. `ServiceCollectionExtensions.BuildClusterOptions` XML comment → now states Akka.Cluster.Hosting enables
|
||||
an SBR provider by default (applies `SplitBrainResolverOption.Default` when the option is null, reading
|
||||
the akka.conf `keep-oldest` block); the typed option makes the strategy **explicit in code**, reinforcing
|
||||
not activating.
|
||||
2. `akka.conf` `split-brain-resolver` comment → the block IS active (via the Hosting default); the typed
|
||||
option makes it explicit; only an explicit `downing-provider-class = ""` would disable failover.
|
||||
3. `docs/Redundancy.md` Split-brain section → rewrote the "activated in code / without it → NoDowning"
|
||||
paragraph; dropped the "now triggers failover" wording; cross-referenced `HardKillFailoverTests` + its
|
||||
negative control.
|
||||
4. `SplitBrainResolverActivationTests` class summary + the `ShouldNotBeNull` message; renamed
|
||||
`BuildClusterOptions_activates_a_split_brain_resolver` → `..._sets_an_explicit_split_brain_resolver`.
|
||||
|
||||
**Verification:** Cluster.Tests 29/29 green (the guards still assert the typed option is set — a refactor
|
||||
can't silently drop the explicitness). Failover *behaviour* remains guarded by `HardKillFailoverTests`,
|
||||
which passes regardless of activation path.
|
||||
|
||||
## The finding
|
||||
|
||||
Critical 1 (03/S1) claimed: *the akka.conf `split-brain-resolver` block was inert, the cluster ran Akka's
|
||||
|
||||
Reference in New Issue
Block a user