[
https://issues.apache.org/jira/browse/CASSANDRA-20493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Blake Eggleston updated CASSANDRA-20493:
----------------------------------------
Status: Ready to Commit (was: Review In Progress)
+1'd on PR
> Paxos infinite loop in mixed mode
> ---------------------------------
>
> Key: CASSANDRA-20493
> URL: https://issues.apache.org/jira/browse/CASSANDRA-20493
> Project: Apache Cassandra
> Issue Type: Bug
> Components: Feature/Lightweight Transactions
> Reporter: Blake Eggleston
> Assignee: Blake Eggleston
> Priority: Normal
> Fix For: 4.1.x
>
> Attachments: ci_summary-4.1.html, ci_summary-5.0.html,
> ci_summary-trunk.html
>
> Time Spent: 2h
> Remaining Estimate: 0h
>
> Paxos uses a 'zero' ballot in place of null when it doesn't find a ballot in
> system.paxos. CEP-14 changed the lsb of the zero ballot uuid from
> -9187201950435737472 to 0. It also removed the check added in
> CASSANDRA-12043, since the way it read and filtered ttld paxos data had been
> improved.
> In mixed mode with a 4.0 or lower replica and a 4.1 and higher paxos
> coordinator, and in the absence of existing paxos metadata for the key being
> queried, the prepare phase will interpret the mismatched ‘zero’ ballots as
> the 4.0 and lower nodes having missed the most recent commit and will attempt
> to update them using the 4.1 zero ballot and empty partition update.
> In cases where this is the first paxos operation on a key, or the previously
> ttl'd paxos data on disk had been purged, this would just add a retry step as
> it updated the 4.0 and lower hosts with it's zero ballot. On nodes where
> there was ttl'd paxos data though, the ttl'd data on disk would shadow this
> update and the conflicting 'zero' value would cause the prepare phase to get
> into an infinite loop.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]