[ 
https://issues.apache.org/jira/browse/CASSANDRA-19769?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Capwell updated CASSANDRA-19769:
--------------------------------------
          Since Version: NA
    Source Control Link: 
https://github.com/apache/cassandra/commit/a8f32d0a4c586431b7aa955ff0493166b771bcff
             Resolution: Fixed
                 Status: Resolved  (was: Ready to Commit)

> CEP-15: (Accord) sequence EpochReady.coordinating to allow syncComplete to be 
> learned from newer epochs
> -------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-19769
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19769
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Accord
>            Reporter: David Capwell
>            Assignee: David Capwell
>            Priority: Normal
>              Labels: pull-request-available
>             Fix For: NA
>
>          Time Spent: 18h 10m
>  Remaining Estimate: 0h
>
> When a node is bootstrapping or doing a host replacement it sees several 
> epochs before it actually joins the ring, but in Accord we only synchronize 
> epoch knowledge to the nodes that have already joined; this means we won’t 
> ever synchronize the epochs seen on the new nodes! This becomes a problem 
> because it forces these nodes to include far more epochs than required 
> (because they don’t know if the peers know the epoch), and may include stale 
> epochs that are not possible to reach quorum (such 2 host replacements to the 
> same range would cause that historic range to not be able to reach quorum).
> By sequencing EpochReady.coordinating, we have the property that we only mark 
> sync complete for epoch=N if and only if epoch=N-1 has done it as well.  With 
> this, peers are able to recover the past data when a new epoch is seen.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to