PendingLocalChange

RaftEngine.onChangeMembership guard 3: this node already holds a local caller's in-flight membership change — pendingConfigChange is non-null.

Set at onChangeMembership's tail and cleared when the resulting Simple entry commits (onConfigCommitted) or the leadership is lost (failPendingConfigChange). Also thrown by onTransferLeadership, whose §3.10 step-1 gate reads the same field: a transfer may not start while a change is converging, because the Joint→Simple auto-append would move the lastLogIndex goalpost the transfer target is chasing. The two sites cannot co-fire — one call is a changeMembership, the other a transferLeadership, and the caller knows which it made — so they share a value rather than splitting one, on the criterion RefusalGate sets out at AppendEntriesPrevLogIndexOutOfRange.

Subsumed by UncommittedConfigEntry at the changeMembership site, which is the whole reason this enum exists; see the class KDoc.

Properties

Link copied to clipboard

A short phrase naming the condition, used to build the default exception message.

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