zzlyn / ConsensusVisualization

Other
2 stars 1 forks source link

[Paxos] Add NACK messages to Paxos along with proposer timeout for retries. #71

Closed zzlyn closed 4 years ago

zzlyn commented 4 years ago

https://github.com/zzlyn/ConsensusVisualization/issues/70

Couple things to note:

  1. This is only optional. We already have the timeout mechanism for livelock demonstration. We only want to merge this if it makes things look nicer.
  2. Feel free to comment on the code but more importantly please try it out and see for yourself to decide.
  3. @Danielhuxc @AbhiPat123 With the current implementation on master(raftscope), acceptors will broadcast 2 waves of accepted messages if there are 2 proposals with different term numbers. I think we want to discuss (a) is this true to core paxos logic or whatever trustworthy reference we can find (b) does it make the visualization look messy when there are 3,4,5... etc. proposals?
Danielhuxc commented 4 years ago

@zzlyn I think this (nack) is actually a good implementation at least for illustration purpose. The number of messages seems fine to me. I think we should keep this (nack to trigger a new round and timeout as backup).

two small things to fix:

  1. nack message arrow not showing
  2. nack message type (unknown) in info panel

otherwise LGTM

zzlyn commented 4 years ago

Thanks for the feedback. I've fixed the arrow and modal title bug. Merging now.