[ 
https://issues.apache.org/jira/browse/CASSANDRA-19904?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17880517#comment-17880517
 ] 

Sam Tunnicliffe commented on CASSANDRA-19904:
---------------------------------------------

The failures in the attached CI summary are unrelated & either pre-existing 
(CASSANDRA-19239 / CASSANDRA-19702 / CASSANDRA-19848) or flaky/unreproducible 
locally

> Deprecate use of gossip state for paxos electorate verification
> ---------------------------------------------------------------
>
>                 Key: CASSANDRA-19904
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19904
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Consistency/Coordination
>            Reporter: Sam Tunnicliffe
>            Assignee: Sam Tunnicliffe
>            Priority: Normal
>             Fix For: 5.x
>
>         Attachments: ci_summary.html
>
>
> In C* 5.0 and earlier, paxos uses gossip state to verify the paxos electorate 
> remains stable during a round. 
> In 5.1, we mostly use the current epoch for this purpose, but some usage of 
> gossip state has been left in place and should be removed.
> An {{Electorate}} is now constructed from {{ClusterMetadata}} and no longer 
> relies on anything in gossip, so updating gossip in 
> {{PaxosPrepare::onResponse}} is no longer necessary. Instead, in the case 
> where the respondent has signalled a mismatch the requester should perform a 
> metadata catchup to the appropriate epoch.
> Currently, this mismatch is communicated by the presence of a non-empty map 
> of endpoint states, but this is no longer necessary as 
> {{Paxos::verifyElectorate}} can provide the epoch of the placements used to 
> construct its local electorate if it differs from the remote one. That epoch 
> can then be included in the {{Permitted}} response instead of the gossip 
> state. When handling the {{Permitted}} response, the paxos coordinator can 
> use this epoch to determine whether it needs to call 
> {{{}permittedOrTerminateIfElectorateMismatch{}}}.
> For now, we will need to include both the electorate epoch and gossip state 
> in the {{Permitted}} response to ensure continuity during upgrades but 
> eventually the gossip state can be removed from these messages.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to