This is an automated email from the ASF dual-hosted git repository. belliottsmith pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit c1030321071ab9f10b2f19d63087ab9313035001 Merge: 51c5071b6b f890bd55a8 Author: Benedict Elliott Smith <[email protected]> AuthorDate: Mon Sep 7 19:08:29 2026 +0100 Merge branch 'cassandra-6.0' into trunk CHANGES.txt | 2 + build.xml | 8 +- .../pages/architecture/accord-architecture.adoc | 6 +- formalise/accord/execution/INVARIANTS.md | 371 ++++ formalise/accord/execution/README.md | 454 ++++ formalise/accord/execution/lean/AccordAcyclic.lean | 619 ++++++ formalise/accord/execution/tla/AccordExec.tla | 644 ++++++ formalise/accord/execution/tla/AccordNotify.tla | 688 ++++++ .../accord/execution/tla/examples/Baseline.cfg | 48 + .../accord/execution/tla/examples/Baseline.tla | 23 + formalise/accord/execution/tla/examples/Notify.cfg | 53 + formalise/accord/execution/tla/examples/Notify.tla | 26 + formalise/accord/execution/tla/examples/README.md | 14 + formalise/accord/execution/tla/matrix.py | 577 +++++ formalise/accord/execution/tla/notify.py | 449 ++++ modules/accord | 2 +- .../cassandra/concurrent/CassandraThread.java | 74 +- .../org/apache/cassandra/concurrent/Stage.java | 2 +- .../org/apache/cassandra/config/AccordConfig.java | 94 +- .../cassandra/config/DatabaseDescriptor.java | 23 + .../cql3/functions/JavaBasedUDFunction.java | 8 + .../cassandra/db/memtable/AbstractMemtable.java | 17 +- .../org/apache/cassandra/db/memtable/Memtable.java | 2 + .../cassandra/db/virtual/AccordDebugKeyspace.java | 35 +- .../apache/cassandra/db/virtual/QueriesTable.java | 2 +- .../org/apache/cassandra/gms/FailureDetector.java | 7 +- .../index/sasi/disk/PerSSTableIndexWriter.java | 7 + .../org/apache/cassandra/io/util/PathUtils.java | 1 - .../cassandra/metrics/AccordCacheMetrics.java | 4 +- .../cassandra/metrics/AccordExecutorMetrics.java | 4 +- .../cassandra/metrics/AccordReplicaMetrics.java | 6 +- .../metrics/LogLinearDecayingHistograms.java | 12 + .../cassandra/metrics/LogLinearHistogram.java | 9 + .../cassandra/repair/autorepair/AutoRepair.java | 36 +- .../cassandra/repair/messages/RepairOption.java | 2 +- .../cassandra/service/ActiveRepairService.java | 2 + .../apache/cassandra/service/StorageService.java | 6 +- .../cassandra/service/accord/AccordCacheEntry.java | 764 ------- .../service/accord/AccordCommandStore.java | 321 ++- .../service/accord/AccordCommandStores.java | 71 +- .../cassandra/service/accord/AccordDataStore.java | 2 +- .../service/accord/AccordDurableOnFlush.java | 48 +- .../cassandra/service/accord/AccordExecutor.java | 2150 ------------------- .../service/accord/AccordExecutorSignalLoop.java | 472 ----- .../service/accord/AccordFetchCoordinator.java | 4 +- .../cassandra/service/accord/AccordKeyspace.java | 12 +- .../service/accord/AccordSafeCommand.java | 151 -- .../service/accord/AccordSafeCommandsForKey.java | 158 -- .../cassandra/service/accord/AccordService.java | 31 +- .../cassandra/service/accord/AccordTask.java | 1179 ---------- .../cassandra/service/accord/IAccordService.java | 1 + .../service/accord/InMemoryRangeIndex.java | 4 +- .../cassandra/service/accord/RangeIndex.java | 22 +- .../cassandra/service/accord/api/AccordAgent.java | 27 +- .../service/accord/debug/DebugBlockedTxns.java | 10 +- .../service/accord/debug/DebugExecution.java | 86 +- .../service/accord/debug/DebugTxnGraph.java | 8 +- .../AbstractLockLoop.java} | 227 +- .../AbstractLoop.java} | 61 +- .../AbstractSemiSyncSubmit.java} | 14 +- .../accord/{ => execution}/AccordCache.java | 371 ++-- .../service/accord/execution/AccordCacheEntry.java | 1366 ++++++++++++ .../AccordCacheEntryMiniQueue.java} | 40 +- .../accord/execution/AccordCacheEntryQueue.java | 891 ++++++++ .../service/accord/execution/AccordExecutor.java | 848 ++++++++ .../{ => execution}/AccordExecutorAsyncSubmit.java | 12 +- .../AccordExecutorSemiSyncSubmit.java | 29 +- .../accord/execution/AccordExecutorSignalLoop.java | 571 +++++ .../{ => execution}/AccordExecutorSimple.java | 39 +- .../{ => execution}/AccordExecutorSyncSubmit.java | 25 +- .../service/accord/execution/CancelTask.java | 66 + .../accord/execution/ExclusiveExecutor.java | 452 ++++ .../IOTask.java} | 41 +- .../service/accord/execution/IOTaskLoad.java | 85 + .../service/accord/execution/IOTaskSave.java | 72 + .../service/accord/execution/IOTaskWrapper.java | 70 + .../InconsistentEntryException.java} | 39 +- .../Loops.java} | 19 +- .../cassandra/service/accord/execution/Plain.java | 105 + .../service/accord/execution/PlainChain.java | 92 + .../PlainChainDebuggable.java} | 42 +- .../service/accord/execution/PlainRunnable.java | 88 + .../service/accord/execution/SafeTask.java | 2242 ++++++++++++++++++++ .../service/accord/execution/SaferCommand.java | 111 + .../SaferCommandStore.java} | 171 +- .../accord/execution/SaferCommandsForKey.java | 107 + .../service/accord/execution/SaferState.java | 47 + .../cassandra/service/accord/execution/Task.java | 1073 ++++++++++ .../service/accord/execution/TaskInfo.java | 100 + .../service/accord/execution/TaskQueue.java | 111 + .../service/accord/execution/TaskQueueMulti.java | 549 +++++ .../accord/execution/TaskQueueRunnable.java | 95 + .../TaskQueueStandalone.java} | 48 +- .../service/accord/execution/TaskRunner.java | 143 ++ .../service/accord/execution/Tranches.java | 268 +++ .../Unstoppable.java} | 41 +- .../Unterminatable.java} | 39 +- .../accord/interop/AccordInteropAdapter.java | 10 +- .../accord/interop/AccordInteropExecution.java | 6 +- .../accord/interop/AccordInteropPersist.java | 4 +- .../service/accord/journal/JournalRangeIndex.java | 16 +- .../cassandra/service/accord/txn/TxnNamedRead.java | 5 +- .../cassandra/service/accord/txn/TxnRead.java | 2 +- .../cassandra/service/accord/txn/TxnWrite.java | 4 +- .../tcm/transformations/AccordMarkHardRemoved.java | 2 +- .../org/apache/cassandra/utils/NoSpamLogger.java | 169 +- .../cassandra/utils/concurrent/SignalLock.java | 74 +- .../service/accord/AccordExecutorBurnTest.java | 1 + test/conf/cassandra.yaml | 3 + .../distributed/impl/AbstractCluster.java | 9 + .../cassandra/distributed/impl/Instance.java | 120 +- .../distributed/test/ClearSnapshotTest.java | 162 +- .../distributed/test/DecommissionTest.java | 2 +- .../cassandra/distributed/test/ReadRepairTest.java | 2 + .../distributed/test/ReadSpeculationTest.java | 2 +- .../cassandra/distributed/test/TestBaseImpl.java | 2 +- .../test/accord/AccordBootstrapTest.java | 4 +- .../distributed/test/accord/AccordCQLTestBase.java | 110 +- .../test/accord/AccordDropTableBase.java | 20 +- .../test/accord/AccordIncrementalRepairTest.java | 4 +- .../distributed/test/accord/AccordLoadTest.java | 24 +- .../distributed/test/accord/AccordMetricsTest.java | 2 +- .../distributed/test/accord/AccordMoveTest.java | 4 +- .../AccordRecoverFromAvailabilityLossTest.java | 4 +- .../test/accord/AccordRegainRangesTest.java | 4 +- .../AccordJournalConsistentExpungeTest.java | 5 +- .../test/sai/IndexStreamingFailureTest.java | 4 +- .../test/topology/DecommissionAvoidTimeouts.java | 2 +- .../fuzz/topology/AccordRebootstrapTest.java | 2 +- .../apache/cassandra/simulator/ActionSchedule.java | 5 +- .../execution/AccordCommandStoreExecutorTest.java | 1869 ++++++++++++++++ ...AbstractPairOfSequencesPaxosSimulationTest.java | 8 +- .../simulator/test/AccordExecutorTest.java | 321 ++- test/unit/org/apache/cassandra/cql3/CQLTester.java | 2 +- .../compaction/CompactionAccordIteratorsTest.java | 22 +- .../service/accord/AccordCacheEntryTest.java | 117 - .../service/accord/AccordCommandStoreTest.java | 29 +- .../service/accord/AccordCommandTest.java | 10 +- .../service/accord/AccordDurabilityStallTest.java | 150 ++ .../service/accord/AccordExpungeTest.java | 3 +- .../service/accord/AccordFailedKeyTestHarness.java | 151 ++ .../service/accord/AccordKeyspaceTest.java | 11 +- .../cassandra/service/accord/AccordTestUtils.java | 83 +- .../service/accord/ControllableRangeIndex.java | 216 ++ .../{AccordTaskTest.java => SafeTaskTest.java} | 53 +- .../SimpleSimulatedAccordCommandStoreTest.java | 4 +- .../accord/SimulatedAccordCommandStore.java | 14 +- .../service/accord/SimulatedAccordTaskTest.java | 33 +- .../execution/AccordCacheEntryCycleTest.java | 1107 ++++++++++ .../execution/AccordCacheEntryQueueTest.java | 1155 ++++++++++ .../execution/AccordCacheEntryReentrancyTest.java | 836 ++++++++ .../AccordCacheEntrySafeTaskCycleTest.java | 1247 +++++++++++ .../accord/execution/AccordCacheEntryTest.java | 499 +++++ .../accord/{ => execution}/AccordCacheTest.java | 284 ++- .../accord/execution/AccordExecutionTestUtils.java | 172 ++ .../AccordExecutorCancelledConsequenceTest.java | 238 +++ ...AccordExecutorContinuationCancellationTest.java | 345 +++ .../execution/AccordExecutorIncrDeadlockTest.java | 275 +++ .../AccordExecutorIncrRequeueRevocationTest.java | 312 +++ .../execution/AccordExecutorKeyAdoptionTest.java | 1050 +++++++++ .../execution/AccordExecutorLoadFailureTest.java | 514 +++++ .../execution/AccordExecutorLoopFailureTest.java | 457 ++++ .../AccordExecutorPresetupLoadingTest.java | 226 ++ .../execution/AccordExecutorRangeScanTest.java | 384 ++++ .../execution/AccordFailedKeyAbandonTest.java | 291 +++ .../accord/execution/AccordFailedKeyBatchTest.java | 373 ++++ .../accord/execution/AccordFailedKeyTest.java | 2113 ++++++++++++++++++ .../accord/execution/QueueCycleDetector.java | 378 ++++ .../accord/execution/TaskLifecycleTest.java | 542 +++++ .../serializers/CommandsForKeySerializerTest.java | 63 +- .../accord/serializers/KeySerializersTest.java | 6 +- .../apache/cassandra/utils/AccordGenerators.java | 15 +- .../apache/cassandra/utils/NoSpamLoggerTest.java | 146 ++ .../cassandra/utils/concurrent/SignalLockTest.java | 203 ++ 174 files changed, 31343 insertions(+), 6441 deletions(-) diff --cc CHANGES.txt index a378bca537,56c3dbec1b..2230e62c4f --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,14 -1,5 +1,16 @@@ +7.0 + * Reject LIKE patterns with a wildcard (%) anywhere other than the start or end (CASSANDRA-21068) + * Support pluggable default role initialization (CASSANDRA-21546) + * Add prepared statement cache stats to nodetool info (CASSANDRA-14366) + * Don't increment client metrics on messaging service connection unpause (CASSANDRA-21491) + * Add nodetool getreplicas (CASSANDRA-17665) + * Implementation of CEP-49: Hardware-accelerated compression (CASSANDRA-20975) + * Avoid using ObjectUtils.getFirstNonNull in Schema (CASSANDRA-21394) + * Allow nodetool garbagecollect to take a user defined list of SSTables (CASSANDRA-16767) + * Add a guardrail for misprepared statements (CASSANDRA-21139) +Merged from 6.0: + 6.0-alpha3 + * AccordExecutor improvements (CASSANDRA-21662) * Upgrade async-profiler to 4.5 (CASSANDRA-21630) * Guardrail configurations of zero are now treated as zero instead of unlimited (CASSANDRA-21517) * Support multi-cell columns in cursor compaction (CASSANDRA-21463) --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
