[ https://issues.apache.org/jira/browse/CASSANDRA-17164?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17476253#comment-17476253 ]
Branimir Lambov commented on CASSANDRA-17164: --------------------------------------------- Is there any location where the algorithm is described in detail? I find it pretty hard to follow the algorithm steps and decision points, as they are spread among a multitude of classes and files. There are quite a few non-trivial differences with the basic Paxos algorithm which need to be laid out and have some explanation of why they are safe: - the use of voting quorum that is not selected only among the replicas that accepted a ballot - the use of "most recent commit" as a voting session identifier - the sharing of ballot numbers between sessions and rejection/acceptance based solely on ballot numbers which may belong to a different voting session - advancing voting sessions without committing empty proposals - replicas skipping voting sessions because of stale participant refresh - read vs write promises - the handling of range movements - state expiration I think this piece of work will benefit tremendously from in-tree markdown documentation that describes the above. > CEP-14: Paxos Improvements > -------------------------- > > Key: CASSANDRA-17164 > URL: https://issues.apache.org/jira/browse/CASSANDRA-17164 > Project: Cassandra > Issue Type: Improvement > Components: Consistency/Coordination, Consistency/Repair > Reporter: Benedict Elliott Smith > Assignee: Benedict Elliott Smith > Priority: Normal > Fix For: 4.1 > > > This ticket encompasses work for [CEP-14| > https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-14%3A+Paxos+Improvements]. -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org