InstallSnapshotBelowCommittedTermFloor

RaftEngine.committedTermFloorRefusal (#1910): an InstallSnapshot advancing our commit frontier whose lastIncludedTerm is below the term of our own entry at commitIndex.

The tighter sibling of InstallSnapshotTermOutOfRange, and the reason it is a separate value rather than folded into it: that bound is frame-internal and admits any term a stale, replayed or forged frame naming a real earlier term needs; this one is a cross-check against local committed state, so the two refuse disjoint populations and a reader wants to know which fired. By Leader Completeness (§5.4 / Figure 3.2) a snapshot that legitimately covers an index above our commit frontier compacts a prefix containing it, and terms are non-decreasing along a log — so the floor never rejects a legitimate snapshot.

Gated on the snapshot actually advancing the frontier: an honest behind-commit duplicate (§7's retransmission case) is legitimately below the floor, is inert, and must keep being acked rather than dropped, so it is exempted rather than laundered through a bound that does not apply to it.

Properties

Link copied to clipboard
expect val name: String
Link copied to clipboard
expect val ordinal: Int
Link copied to clipboard

The RaftMetric.WedgeSuspected.Gate a refusal at this gate is reported under, or null when this gate feeds no wedge diagnosis at all.