distributed-systemconsensusraft

is Lost update possible with RAFT?


Lets say We have a cluster of 5 nodes and A is the leader. Following sequence of events take place:

  1. A sends the replicate change request in parallel to all the followers.
  2. Only B could receive the request as C-E crashed or partition just before receiving the change.
  3. Leader A tries multiple times to get majority and crashed.
  4. C - E comes online again and after the election timeout, B - E participate in the election.
  5. C becomes the candidate and wins the election as it create a majority with C - E
  6. Uncommitted write is lost from B

Is this scenario possible ?


Solution

  • Checked with Raft-Dev Community and yes its very possible to lost uncommitted writes.