ConfigPayload

@Serializable
data class ConfigPayload(val old: ClusterConfig?, val new: ClusterConfig)

The membership payload carried by a config log entry (§6 joint consensus).

A non-null old means this is a joint configuration C_{old,new}: commit and election require majorities of both old.voters and new.voters independently. A null old means this is a simple configuration C_new: cluster has fully transitioned to new.

Config entries ride the normal replicated log and are adopted on append (not on commit) — the cardinal §6 safety rule. They are serializable so they survive CBOR encoding in RaftMessage and persistence in RaftStorage.

Constructors

Link copied to clipboard
constructor(old: ClusterConfig?, new: ClusterConfig)

Properties

Link copied to clipboard
Link copied to clipboard