[ 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