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 206485e820 Merge branch 'cassandra-6.0' into trunk
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 [...]
new dc7935be80 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:
.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]