Merge branch 'cassandra-5.0' into trunk

* cassandra-5.0:
  Paxos v2 cassandra.yaml option
This commit is contained in:
mck 2026-04-18 14:13:48 +02:00
commit daadd25fb2
No known key found for this signature in database
GPG Key ID: E91335D77E3E87CB
3 changed files with 59 additions and 0 deletions

View File

@ -13,6 +13,7 @@
* Rework ZSTD dictionary compression logic to create a trainer per training (CASSANDRA-21209)
Merged from 5.0:
Merged from 4.1:
* Add Paxos v2 option and informatin in cassandra.yaml (CASSANDRA-21316)
* Harden data resurrection startup check with atomic heartbeat file write with fallback (CASSANDRA-21290)
Merged from 4.0:
* Backport CASSANDRA-17810 fix and improve RTBoundValidator error messages (CASSANDRA-18282)

View File

@ -1677,6 +1677,35 @@ dynamic_snitch_reset_interval: 600000ms
# until the pinned host was 20% worse than the fastest.
dynamic_snitch_badness_threshold: 1.0
# Paxos variant for lightweight transactions (LWTs)
# Options:
# v1
# - Legacy Paxos. Expect 4RTs for a write and 3RTs for a read. (default)
#
# v1_without_linearizable_reads_or_rejected_writes
# - Legacy Paxos. Expect 4RTs for a write and 2RTs for a read.
# With legacy semantics for read/read and rejected write linearizability, i.e. not guaranteed.
#
# v2
# - Optimized Paxos. Expect 2RTs for a write, and either 1RT or 2RT for a read. (recommended)
#
# v2_without_linearizable_reads
# - Optimized Paxos. Expect 2RTs for a write and 1RT for a read.
#
# v2_without_linearizable_reads_or_rejected_writes
# - Optimized Paxos. Expect 2RTs for a write and 1RT for a read.
# With legacy semantics for read/read and rejected write linearizability, i.e. not guaranteed.
#
# To upgrade from v1:
# 1. Ensure all nodes are on same Cassandra version 4.1+.
# 2. Run `nodetool repair --full -pr` on each node.
# 3. Set paxos_variant: v2 on each node and rolling restart.
# Rollback is safe: revert to v1 and rolling restart. No data migration needed.
#
# With any v2 variant and `paxos_state_purging: repaired` it is safe to use ANY Commit consistency.
#
#paxos_variant: v1
# Configures Java crypto provider. By default, it will use DefaultCryptoProvider
# which will install Amazon Correto Crypto Provider.
#

View File

@ -1563,6 +1563,35 @@ dynamic_snitch_reset_interval: 600000ms
# until the pinned host was 20% worse than the fastest.
dynamic_snitch_badness_threshold: 1.0
# Paxos variant for lightweight transactions (LWTs)
# Options:
# v1
# - Legacy Paxos. Expect 4RTs for a write and 3RTs for a read. (default)
#
# v1_without_linearizable_reads_or_rejected_writes
# - Legacy Paxos. Expect 4RTs for a write and 2RTs for a read.
# With legacy semantics for read/read and rejected write linearizability, i.e. not guaranteed.
#
# v2
# - Optimized Paxos. Expect 2RTs for a write, and either 1RT or 2RT for a read. (recommended)
#
# v2_without_linearizable_reads
# - Optimized Paxos. Expect 2RTs for a write and 1RT for a read.
#
# v2_without_linearizable_reads_or_rejected_writes
# - Optimized Paxos. Expect 2RTs for a write and 1RT for a read.
# With legacy semantics for read/read and rejected write linearizability, i.e. not guaranteed.
#
# To upgrade from v1:
# 1. Ensure all nodes are on same Cassandra version 4.1+.
# 2. Run `nodetool repair --full -pr` on each node.
# 3. Set paxos_variant: v2 on each node and rolling restart.
# Rollback is safe: revert to v1 and rolling restart. No data migration needed.
#
# With any v2 variant and `paxos_state_purging: repaired` it is safe to use ANY Commit consistency.
#
paxos_variant: v2
# Configures Java crypto provider. By default, it will use DefaultCryptoProvider
# which will install Amazon Correto Crypto Provider.
#