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 f06770f036 Reduce memory allocations in SelectStatement.getQuery
add 8876ad4c03 Introduce: - Clean Shutdown/Restart - Rebootstrap to
allow nodes to rejoin consensus if they are out of sync, or did not shutdown
cleanly Improve: - Improve efficiency of BTreeReducingRangeMap -
DurableBefore backed by BTreeReducingRangeMap - Soft reject new transactions
when a replica has a backlog of work - system_accord_debug.command_store_ops
supports starting journal replay Fix: - Ensure SequentialExecutor.owner is
unset only by the owner - Detect and avoi [...]
No new revisions were added by this update.
Summary of changes:
modules/accord | 2 +-
.../org/apache/cassandra/config/AccordSpec.java | 105 +-
.../cassandra/config/DatabaseDescriptor.java | 3 +-
.../cassandra/cql3/conditions/ColumnCondition.java | 2 +-
.../statements/schema/AlterSchemaStatement.java | 2 +-
.../cql3/statements/schema/KeyspaceAttributes.java | 2 +-
.../cql3/statements/schema/TableAttributes.java | 2 +-
.../org/apache/cassandra/db/ColumnFamilyStore.java | 13 +
.../db/compaction/CompactionIterator.java | 46 +-
.../cassandra/db/compaction/CursorCompactor.java | 3 +
.../cassandra/db/memtable/AbstractMemtable.java | 12 +-
.../org/apache/cassandra/db/memtable/Memtable.java | 4 +-
.../db/streaming/CassandraStreamReceiver.java | 2 +-
.../cassandra/db/virtual/AccordDebugKeyspace.java | 88 +-
.../cassandra/index/accord/RouteIndexFormat.java | 12 +-
.../cassandra/index/accord/RouteJournalIndex.java | 8 +-
.../cassandra/index/sai/plan/QueryViewBuilder.java | 1 +
.../io/util/CompressedFrameDataInputPlus.java | 120 ++
.../io/util/CompressedFrameDataOutputPlus.java | 141 +++
.../org/apache/cassandra/journal/Compactor.java | 6 +-
.../org/apache/cassandra/journal/DumpUtil.java | 4 +-
.../apache/cassandra/journal/EntrySerializer.java | 24 +-
src/java/org/apache/cassandra/journal/Flusher.java | 54 +-
.../apache/cassandra/journal/InMemoryIndex.java | 5 +-
src/java/org/apache/cassandra/journal/Journal.java | 307 +++--
.../org/apache/cassandra/journal/Metadata.java | 9 +-
.../org/apache/cassandra/journal/OnDiskIndex.java | 5 +-
src/java/org/apache/cassandra/journal/Params.java | 13 +-
src/java/org/apache/cassandra/journal/Segment.java | 3 +-
.../apache/cassandra/journal/StaticSegment.java | 87 +-
.../apache/cassandra/journal/ValueSerializer.java | 15 +
src/java/org/apache/cassandra/net/Verb.java | 20 +-
.../schema/DistributedMetadataLogKeyspace.java | 2 +-
.../apache/cassandra/schema/KeyspaceParams.java | 2 +-
.../apache/cassandra/schema/SchemaKeyspace.java | 2 +-
src/java/org/apache/cassandra/schema/TableId.java | 7 +-
.../org/apache/cassandra/schema/TableMetadata.java | 2 +-
.../org/apache/cassandra/schema/TableParams.java | 2 +-
.../apache/cassandra/service/StorageService.java | 41 +-
.../cassandra/service/accord/AccordCache.java | 12 +-
.../service/accord/AccordCommandStore.java | 439 ++++++-
.../service/accord/AccordCommandStores.java | 82 +-
.../cassandra/service/accord/AccordDataStore.java | 217 +++-
.../service/accord/AccordDurableOnFlush.java | 145 ++-
.../cassandra/service/accord/AccordExecutor.java | 235 +++-
.../accord/AccordExecutorAbstractLockLoop.java | 12 +-
.../AccordExecutorAbstractSemiSyncSubmit.java | 4 +-
.../cassandra/service/accord/AccordJournal.java | 1253 --------------------
.../service/accord/AccordJournalTable.java | 646 ----------
.../accord/AccordJournalValueSerializers.java | 343 ------
.../cassandra/service/accord/AccordKeyspace.java | 2 +-
.../service/accord/AccordMessageSink.java | 1 +
.../service/accord/AccordObjectSizes.java | 10 +-
.../service/accord/AccordResponseVerbHandler.java | 1 +
.../cassandra/service/accord/AccordResult.java | 3 +-
.../service/accord/AccordSafeCommand.java | 16 +-
.../service/accord/AccordSafeCommandStore.java | 9 +
.../service/accord/AccordSafeCommandsForKey.java | 4 +-
.../cassandra/service/accord/AccordSafeState.java | 6 +-
.../cassandra/service/accord/AccordService.java | 382 ++++--
.../cassandra/service/accord/AccordTask.java | 45 +-
.../service/accord/AccordVerbHandler.java | 1 +
.../cassandra/service/accord/IAccordService.java | 13 +-
.../service/accord/ImmediateAsyncExecutor.java | 43 -
.../service/accord/InMemoryRangeIndex.java | 28 +-
.../cassandra/service/accord/JournalKey.java | 31 +-
.../cassandra/service/accord/RangeIndex.java | 23 +-
.../cassandra/service/accord/TokenRange.java | 15 +-
.../cassandra/service/accord/api/AccordAgent.java | 54 +-
.../service/accord/api/AccordRoutableKey.java | 2 +-
.../service/accord/api/AccordTopologySorter.java | 4 +-
.../cassandra/service/accord/api/TokenKey.java | 6 +-
.../service/accord/debug/DebugTxnGraph.java | 14 +-
.../accord/interop/AccordInteropAdapter.java | 2 +-
.../accord/interop/AccordInteropExecution.java | 2 +-
.../AbstractSegmentCompactor.java} | 44 +-
.../service/accord/journal/AccordJournal.java | 698 +++++++++++
.../accord/journal/CommandChangeWriter.java | 195 +++
.../service/accord/journal/CommandChanges.java | 363 ++++++
.../accord/journal/DurableBeforePersister.java | 54 +
.../{IndexRange.java => journal/IndexedRange.java} | 10 +-
.../accord/{ => journal}/JournalRangeIndex.java | 27 +-
.../accord/journal/MergeSerializer.java} | 38 +-
.../service/accord/journal/MergeSerializers.java | 343 ++++++
.../cassandra/service/accord/journal/Merger.java | 99 ++
.../service/accord/journal/RangeSearchManager.java | 293 +++++
.../RangeSearcher.java} | 15 +-
.../cassandra/service/accord/journal/Replay.java | 283 +++++
.../service/accord/journal/ReplayMarkers.java | 100 ++
.../SegmentCompactor.java} | 6 +-
.../SegmentRangeSearcher.java} | 38 +-
.../accord/journal/TableAndSegmentKeyIterator.java | 101 ++
.../service/accord/journal/TableKeyIterator.java | 100 ++
.../accord/journal/TableRecordIterator.java | 131 ++
...cordTopologyUpdate.java => TopologyRecord.java} | 332 ++----
.../service/accord/repair/AccordRepair.java | 4 +-
.../{ => serializers}/AccordSerializers.java | 4 +-
.../serializers/CommandStoreSerializers.java | 697 ++++++++++-
.../service/accord/serializers/EncodeAsVInt32.java | 6 +
.../serializers/GetDurableBeforeSerializers.java | 2 +-
.../service/accord/serializers/KeySerializers.java | 10 +-
.../accord/serializers/LatestDepsSerializers.java | 167 +--
.../accord/serializers/RecoverySerializers.java | 80 +-
...nSerializer.java => SimpleReplySerializer.java} | 7 +-
.../{ => topology}/AccordEndpointMapper.java | 2 +-
.../accord/{ => topology}/AccordFastPath.java | 2 +-
.../{ => topology}/AccordFastPathCoordinator.java | 7 +-
.../accord/{ => topology}/AccordStaleReplicas.java | 2 +-
.../{ => topology}/AccordSyncPropagator.java | 17 +-
.../accord/{ => topology}/AccordTopology.java | 14 +-
.../{ => topology}/AccordTopologyService.java | 28 +-
.../accord/{ => topology}/EndpointMapping.java | 10 +-
.../{fastpath => topology}/FastPathStrategy.java | 2 +-
.../accord/{ => topology}/FetchTopologies.java | 3 +-
.../InheritKeyspaceFastPathStrategy.java | 2 +-
.../ParameterizedFastPathStrategy.java | 2 +-
.../SimpleFastPathStrategy.java | 2 +-
.../accord/{ => topology}/WatermarkCollector.java | 6 +-
.../cassandra/service/accord/txn/TxnCondition.java | 2 +-
.../cassandra/service/accord/txn/TxnNamedRead.java | 9 +-
.../cassandra/service/accord/txn/TxnRead.java | 2 +-
.../cassandra/service/accord/txn/TxnReference.java | 2 +-
.../service/accord/txn/TxnReferenceOperation.java | 4 +-
.../cassandra/service/accord/txn/TxnUpdate.java | 2 +-
.../org/apache/cassandra/tcm/ClusterMetadata.java | 6 +-
.../cassandra/tcm/ClusterMetadataService.java | 4 +-
.../cassandra/tcm/StubClusterMetadataService.java | 4 +-
.../cassandra/tcm/compatibility/GossipHelper.java | 4 +-
.../tcm/sequences/CancelCMSReconfiguration.java | 2 +-
.../tcm/transformations/AccordMarkHardRemoved.java | 2 +-
.../tcm/transformations/AccordMarkRejoining.java | 2 +-
.../tcm/transformations/AccordMarkStale.java | 2 +-
.../transformations/ReconfigureAccordFastPath.java | 2 +-
.../cms/PrepareCMSReconfiguration.java | 2 +-
.../cassandra/tools/StandaloneJournalUtil.java | 9 +-
src/java/org/apache/cassandra/utils/Crc.java | 6 +-
.../org/apache/cassandra/utils/ExecutorUtils.java | 3 +-
.../cassandra/utils/JVMStabilityInspector.java | 3 +-
test/conf/cassandra.yaml | 5 +
.../distributed/impl/AbstractCluster.java | 2 +-
.../cassandra/distributed/impl/Instance.java | 20 +-
.../test/accord/AccordBootstrapTest.java | 2 +-
.../AccordCommandStoreTryExecuteListeningTest.java | 91 +-
.../test/accord/AccordJournalIntegrationTest.java | 6 +-
.../distributed/test/accord/AccordLoadTest.java | 116 +-
.../distributed/test/accord/AccordMetricsTest.java | 2 +-
.../test/accord/AccordProgressLogTest.java | 4 +-
.../test/accord/AccordSimpleFastPathTest.java | 2 +-
.../accord/journal/AccordJournalReplayTest.java | 3 +-
.../JournalAccessRouteIndexOnStartupRaceTest.java | 6 +-
.../accord/journal/StatefulJournalRestartTest.java | 2 +-
.../test/log/ClusterMetadataTestHelper.java | 4 +-
.../fuzz/topology/AccordBootstrapTest.java | 4 +
.../cassandra/fuzz/topology/AccordBounceTest.java | 13 +-
...otstrapTest.java => AccordHardCatchupTest.java} | 63 +-
.../fuzz/topology/AccordRebootstrapTest.java | 169 +++
.../cassandra/fuzz/topology/JournalGCTest.java | 4 +-
.../fuzz/topology/TopologyMixupTestBase.java | 9 +-
.../accord/AccordJournalCompactionTest.java | 12 +-
.../service/accord/BurnTestKeySerializers.java | 4 +-
.../{ => journal}/AccordJournalBurnTest.java | 45 +-
.../NemesisSegmentCompactor.java} | 6 +-
.../test/AccordJournalSimulationTest.java | 4 +-
.../config/DatabaseDescriptorRefTest.java | 7 +-
.../apache/cassandra/db/ColumnFamilyStoreTest.java | 4 +-
.../apache/cassandra/db/SchemaCQLHelperTest.java | 2 +-
.../cassandra/index/accord/RouteIndexTest.java | 19 +-
test/unit/org/apache/cassandra/io/Serializers.java | 31 +-
.../org/apache/cassandra/journal/JournalTest.java | 8 +-
.../org/apache/cassandra/journal/SegmentTest.java | 5 +-
.../org/apache/cassandra/journal/TestParams.java | 8 +-
.../apache/cassandra/locator/MetaStrategyTest.java | 4 +-
.../cassandra/schema/FastPathSchemaTest.java | 4 +-
.../cassandra/service/accord/AccordCacheTest.java | 4 +-
.../service/accord/AccordCommandTest.java | 5 +
.../service/accord/AccordJournalOrderTest.java | 4 +-
.../service/accord/AccordMessageSinkTest.java | 1 +
.../service/accord/AccordSerializersTest.java | 1 +
.../service/accord/AccordStaleReplicasTest.java | 1 +
.../cassandra/service/accord/AccordTestUtils.java | 1 +
.../service/accord/AccordTopologyTest.java | 2 +
.../service/accord/CommandChangeTest.java | 6 +-
.../accord/DurableBeforeIntegrationTest.java | 96 ++
.../service/accord/EndpointMappingTest.java | 1 +
.../cassandra/service/accord/EpochSyncTest.java | 4 +
.../service/accord/FetchTopologiesTest.java | 1 +
...sTest.java => MaxConflictsIntegrationTest.java} | 68 +-
.../service/accord/RangeTreeRangeAccessor.java | 0
.../service/accord/RouteInMemoryIndexTest.java | 12 +-
.../service/accord/SimpleAccordEndpointMapper.java | 1 +
.../accord/SimulatedAccordCommandStore.java | 11 +-
.../SimulatedAccordCommandStoreTestBase.java | 10 +-
.../service/accord/SimulatedAccordTaskTest.java | 1 +
.../service/accord/WatermarkCollectorTest.java | 1 +
...logyUpdateTest.java => TopologyRecordTest.java} | 71 +-
.../accord/repair/RequiredResponseTrackerTest.java | 2 +-
.../serializers/CommandStoreSerializersTest.java | 108 +-
.../serializers/CommandsForKeySerializerTest.java | 3 +-
.../service/accord/serializers/TokenKeyTest.java | 4 +-
.../AccordFastPathCoordinatorTest.java | 4 +-
.../{ => topology}/AccordSyncPropagatorTest.java | 3 +-
.../FastPathParsingTest.java | 2 +-
.../ParameterizedFastPathStrategyTest.java | 6 +-
.../SimpleFastPathStrategyTest.java | 2 +-
.../tcm/ClusterMetadataSerializerTest.java | 4 +-
.../apache/cassandra/utils/AccordGenerators.java | 2 +-
.../cassandra/utils/CassandraGenerators.java | 12 +-
.../utils/SimpleBitSetSerializersTest.java | 2 +-
208 files changed, 6944 insertions(+), 3903 deletions(-)
create mode 100644
src/java/org/apache/cassandra/io/util/CompressedFrameDataInputPlus.java
create mode 100644
src/java/org/apache/cassandra/io/util/CompressedFrameDataOutputPlus.java
delete mode 100644
src/java/org/apache/cassandra/service/accord/AccordJournal.java
delete mode 100644
src/java/org/apache/cassandra/service/accord/AccordJournalTable.java
delete mode 100644
src/java/org/apache/cassandra/service/accord/AccordJournalValueSerializers.java
delete mode 100644
src/java/org/apache/cassandra/service/accord/ImmediateAsyncExecutor.java
rename
src/java/org/apache/cassandra/service/accord/{AbstractAccordSegmentCompactor.java
=> journal/AbstractSegmentCompactor.java} (85%)
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/AccordJournal.java
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/CommandChangeWriter.java
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/CommandChanges.java
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/DurableBeforePersister.java
rename src/java/org/apache/cassandra/service/accord/{IndexRange.java =>
journal/IndexedRange.java} (87%)
rename src/java/org/apache/cassandra/service/accord/{ =>
journal}/JournalRangeIndex.java (95%)
copy src/java/org/apache/cassandra/{tcm/extensions/IntValue.java =>
service/accord/journal/MergeSerializer.java} (53%)
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/MergeSerializers.java
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/Merger.java
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/RangeSearchManager.java
rename src/java/org/apache/cassandra/service/accord/{JournalRangeSearcher.java
=> journal/RangeSearcher.java} (90%)
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/Replay.java
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/ReplayMarkers.java
rename
src/java/org/apache/cassandra/service/accord/{AccordSegmentCompactor.java =>
journal/SegmentCompactor.java} (91%)
rename
src/java/org/apache/cassandra/service/accord/{JournalSegmentRangeSearcher.java
=> journal/SegmentRangeSearcher.java} (87%)
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/TableAndSegmentKeyIterator.java
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/TableKeyIterator.java
create mode 100644
src/java/org/apache/cassandra/service/accord/journal/TableRecordIterator.java
rename
src/java/org/apache/cassandra/service/accord/journal/{AccordTopologyUpdate.java
=> TopologyRecord.java} (71%)
rename src/java/org/apache/cassandra/service/accord/{ =>
serializers}/AccordSerializers.java (97%)
copy
src/java/org/apache/cassandra/service/accord/serializers/{TxnSerializer.java =>
SimpleReplySerializer.java} (78%)
rename src/java/org/apache/cassandra/service/accord/{ =>
topology}/AccordEndpointMapper.java (97%)
rename src/java/org/apache/cassandra/service/accord/{ =>
topology}/AccordFastPath.java (99%)
rename src/java/org/apache/cassandra/service/accord/{ =>
topology}/AccordFastPathCoordinator.java (97%)
rename src/java/org/apache/cassandra/service/accord/{ =>
topology}/AccordStaleReplicas.java (99%)
rename src/java/org/apache/cassandra/service/accord/{ =>
topology}/AccordSyncPropagator.java (96%)
rename src/java/org/apache/cassandra/service/accord/{ =>
topology}/AccordTopology.java (97%)
rename src/java/org/apache/cassandra/service/accord/{ =>
topology}/AccordTopologyService.java (91%)
rename src/java/org/apache/cassandra/service/accord/{ =>
topology}/EndpointMapping.java (96%)
rename src/java/org/apache/cassandra/service/accord/{fastpath =>
topology}/FastPathStrategy.java (99%)
rename src/java/org/apache/cassandra/service/accord/{ =>
topology}/FetchTopologies.java (98%)
rename src/java/org/apache/cassandra/service/accord/{fastpath =>
topology}/InheritKeyspaceFastPathStrategy.java (97%)
rename src/java/org/apache/cassandra/service/accord/{fastpath =>
topology}/ParameterizedFastPathStrategy.java (99%)
rename src/java/org/apache/cassandra/service/accord/{fastpath =>
topology}/SimpleFastPathStrategy.java (98%)
rename src/java/org/apache/cassandra/service/accord/{ =>
topology}/WatermarkCollector.java (97%)
copy
test/distributed/org/apache/cassandra/fuzz/topology/{AccordBootstrapTest.java
=> AccordHardCatchupTest.java} (72%)
create mode 100644
test/distributed/org/apache/cassandra/fuzz/topology/AccordRebootstrapTest.java
rename test/distributed/org/apache/cassandra/service/accord/{ =>
journal}/AccordJournalBurnTest.java (91%)
rename
test/distributed/org/apache/cassandra/service/accord/{NemesisAccordSegmentCompactor.java
=> journal/NemesisSegmentCompactor.java} (93%)
create mode 100644
test/unit/org/apache/cassandra/service/accord/DurableBeforeIntegrationTest.java
copy
test/unit/org/apache/cassandra/service/accord/{serializers/CommandStoreSerializersTest.java
=> MaxConflictsIntegrationTest.java} (50%)
rename {src/java =>
test/unit}/org/apache/cassandra/service/accord/RangeTreeRangeAccessor.java
(100%)
rename
test/unit/org/apache/cassandra/service/accord/journal/{AccordTopologyUpdateTest.java
=> TopologyRecordTest.java} (58%)
rename test/unit/org/apache/cassandra/service/accord/{ =>
topology}/AccordFastPathCoordinatorTest.java (98%)
rename test/unit/org/apache/cassandra/service/accord/{ =>
topology}/AccordSyncPropagatorTest.java (99%)
rename test/unit/org/apache/cassandra/service/accord/{fastpath =>
topology}/FastPathParsingTest.java (98%)
rename test/unit/org/apache/cassandra/service/accord/{fastpath =>
topology}/ParameterizedFastPathStrategyTest.java (96%)
rename test/unit/org/apache/cassandra/service/accord/{fastpath =>
topology}/SimpleFastPathStrategyTest.java (96%)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]