Redundancy: Primary selection still matches gossiped roles case-sensitively (Health.Akka OldestUpMember) #620
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
RedundancyStateActor.SelectOldestUpMemberOfRole/SelectDriverPrimarydelegate toZB.MOM.WW.Health.Akka'sClusterActiveNode.OldestUpMember(Akka's case-sensitiveMember.HasRole); in a rolling upgrade mixing pre-R3-04 builds a miscased role can elect the wrong Primary.Sources: CLAUDE.md "Known residual, not closed by R3-04"; archreview/plans/STATUS.md:528 (follow-up 3).
ZB.MOM.WW.Health.Akka) to match case-insensitivelyFiled 2026-10-08 by the pending/deferred-work sweep after the #562–#591 issue sweep.
Closed as an accepted residual (
a6192159).The match lives in
ZB.MOM.WW.Health.Akka(ClusterActiveNode.OldestUpMemberover Akka's ownMember.HasRole), which this repo does not own. A fixed-build pair can no longer gossip a miscased role at all (normalisation happens before gossip), so the exposure is only a mixed pre-R3-04/fixed rolling-upgrade window. Documented in docs/Redundancy.md ("Accepted residual (#620)"), and the CLAUDE.md note was reworded to say so. Reopen if an upstream case-insensitive match lands in scadaproj and the pin is bumped.Closed 2026-10-08 by the hardware-available issue sweep (master
d898262c).