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

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


    from 8cfc3a67be Upgrade async-profiler to 4.5
     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 [...]

No new revisions were added by this update.

Summary of changes:
 CHANGES.txt                                        |    1 +
 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, 31298 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