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 c9d60a61e3 Offline tool for working with cluster metadata dump files
add a0dc6f857b Introduce AccordExecutorSignalLoop that aims to reduce lock
contention: - consumer and producer threads wait signal without acquiring the
lock first - lock owners may prepare more work than they need, moving some
dynamically-adjusted portion of the work from the prioritised lock-managed
structures onto a non-blocking queue, so that other threads may consume work
from there; the portion is continually micro-adjusted to target some available
work whenever the lock is a [...]
No new revisions were added by this update.
Summary of changes:
.build/checkstyle.xml | 6 +
modules/accord | 2 +-
.../org/apache/cassandra/config/AccordConfig.java | 39 +
src/java/org/apache/cassandra/config/Config.java | 1 -
.../cassandra/config/DatabaseDescriptor.java | 46 +-
.../service/accord/AccordCommandStore.java | 40 +-
.../service/accord/AccordCommandStores.java | 61 +-
.../cassandra/service/accord/AccordExecutor.java | 231 +++---
.../accord/AccordExecutorAbstractLockLoop.java | 62 +-
.../service/accord/AccordExecutorAbstractLoop.java | 139 ++++
.../AccordExecutorAbstractSemiSyncSubmit.java | 4 +-
.../service/accord/AccordExecutorAsyncSubmit.java | 4 +-
.../service/accord/AccordExecutorLoops.java | 6 +-
.../accord/AccordExecutorSemiSyncSubmit.java | 4 +-
.../service/accord/AccordExecutorSignalLoop.java | 472 ++++++++++++
.../service/accord/AccordExecutorSimple.java | 10 +-
.../service/accord/AccordExecutorSyncSubmit.java | 8 +-
.../service/accord/AccordObjectSizes.java | 44 +-
.../cassandra/service/accord/AccordResult.java | 20 +-
.../cassandra/service/accord/AccordService.java | 12 +-
.../cassandra/service/accord/AccordTask.java | 24 +-
.../service/accord/debug/DebugExecution.java | 99 ++-
.../service/accord/interop/AccordInteropApply.java | 10 +-
.../accord/interop/AccordInteropPersist.java | 2 +-
.../accord/serializers/ApplySerializers.java | 6 +-
.../accord/serializers/CheckStatusSerializers.java | 4 +-
.../accord/serializers/ResultSerializers.java | 12 +-
.../cassandra/service/accord/txn/TxnData.java | 2 +-
.../cassandra/service/accord/txn/TxnResult.java | 8 +
.../cassandra/utils/concurrent/SignalLock.java | 798 +++++++++++++++++++++
.../distributed/test/accord/AccordLoadTest.java | 243 ++++++-
.../fuzz/topology/AccordBootstrapTest.java | 2 +-
.../fuzz/topology/AccordTopologyMixupTest.java | 2 +-
.../topology/HarryOnAccordTopologyMixupTest.java | 2 +-
.../simulator/test/AccordExecutorTest.java | 164 +++++
.../db/virtual/AccordDebugKeyspaceTest.java | 2 +-
.../apache/cassandra/hints/HintsServiceTest.java | 2 +-
.../service/accord/AccordCommandStoreTest.java | 4 +-
.../cassandra/service/accord/AccordTestUtils.java | 9 +-
.../cassandra/service/accord/EpochSyncTest.java | 4 +-
.../serializers/CommandsForKeySerializerTest.java | 3 +-
.../apache/cassandra/utils/AccordGenerators.java | 4 +-
42 files changed, 2244 insertions(+), 373 deletions(-)
create mode 100644
src/java/org/apache/cassandra/service/accord/AccordExecutorAbstractLoop.java
create mode 100644
src/java/org/apache/cassandra/service/accord/AccordExecutorSignalLoop.java
create mode 100644
src/java/org/apache/cassandra/utils/concurrent/SignalLock.java
create mode 100644
test/simulator/test/org/apache/cassandra/simulator/test/AccordExecutorTest.java
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]