You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Blake Eggleston (Jira)" <ji...@apache.org> on 2025/03/27 17:38:00 UTC
[jira] [Created] (CASSANDRA-20493) Paxos infinite loop in mixed mode
Blake Eggleston created CASSANDRA-20493:
-------------------------------------------
Summary: 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
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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org