Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Committed voter present in voters or observers
    • If committed voter also exists in the voters or observer set, its ReplicaState is identical to the corresponding entry in that set.
    • All field within the ReplicaState are fully available.
  2. Committed voter absent from voters or observers 
    • If a committed voter
    • does
    • is not
    • exist
    • present in either the voters or observers set, the following fields in its ReplicaState are assigned sentinel values:
      • endLogOffset = -1

      • lastFetchTimestamp = -1

      • lastCaughtUpTimestamp = -1

    • These fields
    • above are help users to know
    • provide information about the current voter set
    • information and its not help user to understand committed voter status so we can allow them to be sentinel value
    • , but they do not reflect the committed voter status. Therefore, it is acceptable for them to take sentinel values.

Benefit

This mechanism strengthens the Raft membership model by:

  • Making committed membership explicit.

  • Providing a consistent interface for tooling and client introspection.

  • Improving the overall transparency and debuggability of the cluster state.

  • Reducing performance overhead by avoiding disk operations, since all required voter state and high watermark data are memory-resident.

Compatibility, Deprecation, and Migration Plan

...

Unit test and integration test will be added.

Rejected Alternatives

  • A new field, state, can be introduced within the ReplicaState structure to explicitly track the committed status of the voter.