Vanlightly commented on pull request #1690:
URL: https://github.com/apache/zookeeper/pull/1690#issuecomment-844375695


   From my perspective:
   1. Implement the minimum required, in order to keep thing simpler and reduce 
the state space. If the only point of the PING message is to act as a keep 
alive when there is no data to replicate then don't include it. Do not 
implement timeouts explicitly, rather just allow for a node to go back to an 
election at any time.
   2. SNAP and DIFF exist as they optimize performance for the given scenario. 
For the TLA+ we don't worry about that. I would implement DIFF or SNAP but not 
both. SNAP would result in a smaller state space as it is only a single 
message. TRUNC as far as I know is when a follower is ahead of the new leader 
(with uncommitted entries) so would be required.
   
   Regarding 3 and 4, unfortunately the Zab 1.0 document is lacking details so 
someone with deep knowledge of the protocol will need explain this missing 
pieces. If I have time I might read the code to reverse engineer it back into 
detailed a protocol description.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to