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 bf79036ae0 Merge branch 'cassandra-6.0' into trunk
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 [...]
new 3256650bb6 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:
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]