This is an automated email from the ASF dual-hosted git repository.

belliottsmith pushed a change to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra.git


    from 51c5071b6b Merge branch 'cassandra-6.0' into trunk
     add f890bd55a8 Accord executor QoS and incremental execution QoS: Tasks 
are categorised so that their relative arrival/service rate can be tracked by   
7-bit decaying counters. Work may be assigned by a mixture of highest priority 
task or   least-serviced queue by a deficit round-robin scheme. This prevents 
e.g. cache flushes   from dominating executor threads. Incremental Execution: 
Implementation fully implements enriched ASYNC/INCR ExecutionContext   
semantics, so that tasks may b [...]
     new c103032107 Merge branch 'cassandra-6.0' into trunk

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 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/AccordSafeState.java  |   57 -
 .../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 ++++++++++++
 .../execution/AccordCacheEntryMiniQueue.java}      |   29 +-
 .../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 ++++
 .../accord/execution/IOTask.java}                  |   22 +-
 .../service/accord/execution/IOTaskLoad.java       |   85 +
 .../service/accord/execution/IOTaskSave.java       |   72 +
 .../accord/execution/IOTaskWrapper.java}           |   49 +-
 .../execution/InconsistentEntryException.java}     |   16 +-
 .../Loops.java}                                    |   19 +-
 .../cassandra/service/accord/execution/Plain.java  |  105 +
 .../service/accord/execution/PlainChain.java       |   92 +
 .../accord/execution/PlainChainDebuggable.java}    |   31 +-
 .../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 +
 .../accord/execution/TaskQueueStandalone.java}     |   52 +-
 .../service/accord/execution/TaskRunner.java       |  143 ++
 .../service/accord/execution/Tranches.java         |  268 +++
 .../accord/execution/Unstoppable.java}             |   14 +-
 .../accord/execution/Unterminatable.java}          |    6 +-
 .../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 ++
 175 files changed, 31299 insertions(+), 6401 deletions(-)
 create mode 100644 formalise/accord/execution/INVARIANTS.md
 create mode 100644 formalise/accord/execution/README.md
 create mode 100644 formalise/accord/execution/lean/AccordAcyclic.lean
 create mode 100644 formalise/accord/execution/tla/AccordExec.tla
 create mode 100644 formalise/accord/execution/tla/AccordNotify.tla
 create mode 100644 formalise/accord/execution/tla/examples/Baseline.cfg
 create mode 100644 formalise/accord/execution/tla/examples/Baseline.tla
 create mode 100644 formalise/accord/execution/tla/examples/Notify.cfg
 create mode 100644 formalise/accord/execution/tla/examples/Notify.tla
 create mode 100644 formalise/accord/execution/tla/examples/README.md
 create mode 100755 formalise/accord/execution/tla/matrix.py
 create mode 100755 formalise/accord/execution/tla/notify.py
 delete mode 100644 
src/java/org/apache/cassandra/service/accord/AccordCacheEntry.java
 delete mode 100644 
src/java/org/apache/cassandra/service/accord/AccordExecutor.java
 delete mode 100644 
src/java/org/apache/cassandra/service/accord/AccordExecutorSignalLoop.java
 delete mode 100644 
src/java/org/apache/cassandra/service/accord/AccordSafeCommand.java
 delete mode 100644 
src/java/org/apache/cassandra/service/accord/AccordSafeCommandsForKey.java
 delete mode 100644 
src/java/org/apache/cassandra/service/accord/AccordSafeState.java
 delete mode 100644 src/java/org/apache/cassandra/service/accord/AccordTask.java
 rename 
src/java/org/apache/cassandra/service/accord/{AccordExecutorAbstractLockLoop.java
 => execution/AbstractLockLoop.java} (52%)
 rename 
src/java/org/apache/cassandra/service/accord/{AccordExecutorAbstractLoop.java 
=> execution/AbstractLoop.java} (64%)
 rename 
src/java/org/apache/cassandra/service/accord/{AccordExecutorAbstractSemiSyncSubmit.java
 => execution/AbstractSemiSyncSubmit.java} (65%)
 rename src/java/org/apache/cassandra/service/accord/{ => 
execution}/AccordCache.java (73%)
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/AccordCacheEntry.java
 copy src/java/org/apache/cassandra/{cache/CacheKey.java => 
service/accord/execution/AccordCacheEntryMiniQueue.java} (51%)
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/AccordCacheEntryQueue.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/AccordExecutor.java
 rename src/java/org/apache/cassandra/service/accord/{ => 
execution}/AccordExecutorAsyncSubmit.java (88%)
 rename src/java/org/apache/cassandra/service/accord/{ => 
execution}/AccordExecutorSemiSyncSubmit.java (78%)
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/AccordExecutorSignalLoop.java
 rename src/java/org/apache/cassandra/service/accord/{ => 
execution}/AccordExecutorSimple.java (81%)
 rename src/java/org/apache/cassandra/service/accord/{ => 
execution}/AccordExecutorSyncSubmit.java (79%)
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/CancelTask.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/ExclusiveExecutor.java
 copy src/java/org/apache/cassandra/{db/marshal/StringType.java => 
service/accord/execution/IOTask.java} (65%)
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/IOTaskLoad.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/IOTaskSave.java
 copy src/java/org/apache/cassandra/{security/JREProvider.java => 
service/accord/execution/IOTaskWrapper.java} (52%)
 copy src/java/org/apache/cassandra/{net/ConnectionCategory.java => 
service/accord/execution/InconsistentEntryException.java} (74%)
 rename src/java/org/apache/cassandra/service/accord/{AccordExecutorLoops.java 
=> execution/Loops.java} (85%)
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/Plain.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/PlainChain.java
 copy src/java/org/apache/cassandra/{utils/FailingBiConsumer.java => 
service/accord/execution/PlainChainDebuggable.java} (55%)
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/PlainRunnable.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/SafeTask.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/SaferCommand.java
 rename 
src/java/org/apache/cassandra/service/accord/{AccordSafeCommandStore.java => 
execution/SaferCommandStore.java} (50%)
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/SaferCommandsForKey.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/SaferState.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/Task.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/TaskInfo.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/TaskQueue.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/TaskQueueMulti.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/TaskQueueRunnable.java
 copy src/java/org/apache/cassandra/{io/util/EmptyRebufferer.java => 
service/accord/execution/TaskQueueStandalone.java} (55%)
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/TaskRunner.java
 create mode 100644 
src/java/org/apache/cassandra/service/accord/execution/Tranches.java
 copy src/java/org/apache/cassandra/{io/util/BytesReadTracker.java => 
service/accord/execution/Unstoppable.java} (80%)
 copy src/java/org/apache/cassandra/{db/compaction/ICompactionManager.java => 
service/accord/execution/Unterminatable.java} (83%)
 create mode 100644 
test/simulator/test/org/apache/cassandra/service/accord/execution/AccordCommandStoreExecutorTest.java
 delete mode 100644 
test/unit/org/apache/cassandra/service/accord/AccordCacheEntryTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/AccordDurabilityStallTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/AccordFailedKeyTestHarness.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/ControllableRangeIndex.java
 rename test/unit/org/apache/cassandra/service/accord/{AccordTaskTest.java => 
SafeTaskTest.java} (90%)
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordCacheEntryCycleTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordCacheEntryQueueTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordCacheEntryReentrancyTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordCacheEntrySafeTaskCycleTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordCacheEntryTest.java
 rename test/unit/org/apache/cassandra/service/accord/{ => 
execution}/AccordCacheTest.java (58%)
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutionTestUtils.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorCancelledConsequenceTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorContinuationCancellationTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorIncrDeadlockTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorIncrRequeueRevocationTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorKeyAdoptionTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorLoadFailureTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorLoopFailureTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorPresetupLoadingTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordExecutorRangeScanTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordFailedKeyAbandonTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordFailedKeyBatchTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/AccordFailedKeyTest.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/QueueCycleDetector.java
 create mode 100644 
test/unit/org/apache/cassandra/service/accord/execution/TaskLifecycleTest.java
 create mode 100644 
test/unit/org/apache/cassandra/utils/concurrent/SignalLockTest.java


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to