[
https://issues.apache.org/jira/browse/CASSANDRA-19904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sam Tunnicliffe updated CASSANDRA-19904:
----------------------------------------
Attachment: ci_summary-1.html
> 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-1.html, 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: [email protected]
For additional commands, e-mail: [email protected]