Commit Graph

32119 Commits

Author SHA1 Message Date
Benedict Elliott Smith 4930ae0e6e CASSANDRA-21361 follow-up: recontact forbids self addressed messages and we ensure self-addressed messages send full information to avoid having multiple LocalDelivery contexts 2026-05-15 10:26:45 +01:00
Patrick McFadin 7ac5d93c8b CASSANDRA-21342: Retarget commands-toc.adoc xrefs to consolidated CQL anchors
Follow-up to the trunk PR #4807 forward-merge for cassandra-5.0. The
trunk R1 commit (8e0700a7cb on the chain leading to 32826fe563)
rewrote reference/cql-commands/commands-toc.adoc to retarget 38
broken xref:reference/cql-commands/<page>.adoc[...] entries to the
corresponding anchors in developing/cql/{ddl,dml,functions,mvs,
security,types}.adoc, kept 6 entries that still resolve under
cassandra:reference/cql-commands/, and dropped 4 DSE-only entries
(RESTRICT, RESTRICT ROWS, UNRESTRICT, UNRESTRICT ROWS).

The same transformation is applied here to cassandra-5.0. The trunk
commit was not cherry-pickable because 5.0's commands-toc.adoc had
diverged from trunk's pre-R1 version by ~9 lines (the DSE-only
entries plus an unrelated formatting drift); a direct edit replacing
the file with trunk's post-R1 content was the cleanest application.

One trunk-only entry is omitted: LIST SUPERUSERS (target
developing/cql/security.adoc#list-superusers-statement). That anchor
does not exist on cassandra-5.0; the LIST SUPERUSERS command was
added after 5.0.

All 29 retarget anchors plus the 6 cassandra:reference/cql-commands/
target pages verified to exist on upstream/cassandra-5.0.

 patch by Patrick McFadin; reviewed by TBD for CASSANDRA-21342
2026-05-14 14:13:06 -07:00
Patrick McFadin a1fc6c8761 CASSANDRA-21342: Fix broken Antora xref/anchor targets in cassandra docs
Forward-merge of the Phase 3 A2 fix from trunk (part of commit
32826fe563) to cassandra-4.0. Retargets the ROOT-nav and ROOT-index
Contact us xrefs from the removed master@_:ROOT:contactus.adoc page
to the existing master@_:ROOT:community.adoc.

The fix is applied as a direct edit rather than a cherry-pick: 4.0's
ROOT/nav.adoc has a different surrounding structure from trunk's (no
ifndef::local-build wrapper, no development sub-nav), so a clean
cherry-pick of the trunk patch is not possible. The net effect on
the targeted xrefs is identical.

 patch by Patrick McFadin; reviewed by TBD for CASSANDRA-21342
2026-05-14 12:36:21 -07:00
Patrick McFadin 1605049780 CASSANDRA-21342: Fix broken Antora xref/anchor targets in cassandra docs
Forward-merge of the Phase 3 A2 fix from trunk (part of commit
32826fe563) to cassandra-4.1. Retargets the ROOT-nav and ROOT-index
Contact us xrefs from the removed master@_:ROOT:contactus.adoc page
to the existing master@_:ROOT:community.adoc.

The fix is applied as a direct edit rather than a cherry-pick: 4.1's
ROOT/nav.adoc has a different surrounding structure from trunk's (no
ifndef::local-build wrapper, no development sub-nav), so a clean
cherry-pick of the trunk patch is not possible. The net effect on
the targeted xrefs is identical.

 patch by Patrick McFadin; reviewed by TBD for CASSANDRA-21342
2026-05-14 12:35:48 -07:00
Patrick McFadin 9733058d1b CASSANDRA-21342: Fix broken Antora xref/anchor targets in cassandra docs
Forward-merge of the trunk fix (commit 32826fe563) to cassandra-5.0.
Restricted to the changes whose broken-target patterns exist on this
branch.

Two trunk commits intentionally omitted:
 - P1 (memtable.adoc retarget): the memtable sections containing the
   broken xref were added on trunk only and do not exist on 5.0.
 - R1 (commands-toc.adoc rewrite): commands-toc.adoc on 5.0 diverges
   from trunk by ~9 lines; the 38-row retarget mapping will be applied
   as a separate follow-up commit on this branch.

 patch by Patrick McFadin; reviewed by TBD for CASSANDRA-21342
2026-05-14 12:13:11 -07:00
Patrick McFadin 32826fe563 CASSANDRA-21342: Fix broken Antora xref/anchor targets in cassandra docs
Resolve broken cross-module xrefs and image/anchor targets across the
cassandra docs tree. Companion to apache/cassandra-website#319 (merged
2026-05-13) under the same JIRA umbrella.

 patch by Patrick McFadin; reviewed by Brandon Williams for CASSANDRA-21342
2026-05-14 10:29:29 -07:00
Dmitry Konstantinov a918f6c2a4 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  ninjia: add an accidentally removed newline in test/conf/cassandra.yaml
2026-05-14 14:47:05 +01:00
Dmitry Konstantinov 687fbf282f ninjia: add an accidentally removed newline in test/conf/cassandra.yaml 2026-05-14 14:43:21 +01:00
maoling 41239b07b4
Add AGENTS.md and CLAUDE.md
patch by Ling Mao; reviewed by David Capwell, Stefan Miklosovic for CASSANDRA-21301

Co-authored-by: David Capwell <dcapwell@gmail.com>
2026-05-14 12:49:47 +02:00
Benedict Elliott Smith 890ba2a364 Merge branch 'cassandra-6.0' into trunk 2026-05-13 15:16:04 +01:00
Benedict Elliott Smith 41cf61402c Improve Tail Latency
- TransactionStatement token aware routing
 - Mitigate convoy effect:
   - ExecuteTxnBacklog v1 can execute single key transaction backlogs and disseminate the result
     - Direct local execution possible for single key transactions
   - Use shardAppliedBefore instead of gcBefore to cleanup CFK faster
Also Improve:
 - Introduce distributed tracing
 - Combine RejectBefore and MaxConflicts
 - Self-addressed messages are delivered directly
 - Disable AccordSyncPropagator by default, as incompatible with large clusters
 - FastPathStrategy.SIMPLE should not modify fast path contents; FastPathStrategy.UP introduced to adopt this behaviour
 - Configurable queue prioritisation
 - ProtocolModifiers mostly final
 - Remove unnecessary condition check when serializing TxnUpdate
Also Fix:
 - SequentialExecutor ownership bug
 - BTree.XUpdater.reset()

patch by Benedict; reviewed by Alex Petrov and Ariel Weisberg for CASSANDRA-21361
2026-05-13 15:15:23 +01:00
Benedict Elliott Smith 8ad8e56378 Artificial Latency Injection
patch by Benedict; reviewed by Alex Petrov and Ariel Weisberg for CASSANDRA-17024
2026-05-13 14:20:56 +01:00
Dmitry Konstantinov b6f175bfc2 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Uncompressed size is being used for compressed tables in maintenance operations
2026-05-13 13:33:39 +01:00
Dmitry Konstantinov 51a58ef22e Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Uncompressed size is being used for compressed tables in maintenance operations
2026-05-13 13:23:16 +01:00
Matt Byrd af6930c986 Uncompressed size is being used for compressed tables in maintenance operations
use compression ratio to scale the amount of remaining disk usage
CompactionInfo::estimatedRemainingWriteBytes is uncompressed, causing compaction to be rejected due to size when it has space to complete

patch by Matt Byrd; reviewed by Dmitry Konstantinov, Marcus Eriksson for CASSANDRA-21245

Co-authored-by: Jon Meredith <jmeredithco@apple.com>
2026-05-13 13:15:46 +01:00
Josh McKenzie 0625a4d525 Merge branch 'cassandra-6.0' into trunk 2026-05-11 16:54:05 -04:00
Josh McKenzie 84016ab151 Quiet down the noisiness on empty array deref in post-checkout hook
Patch by Josh McKenzie; reviewed by David Capwell for CASSANDRA-21364

Follow-up patch
2026-05-11 16:53:45 -04:00
Josh McKenzie 8f192b6771 Merge branch 'cassandra-6.0' into trunk 2026-05-11 15:26:05 -04:00
Josh McKenzie f55c4d2a9b Add BUILD_OFFLINE capability to skip post-checkout submodule init
Patch by Josh McKenzie; reviewed by David Capwell for CASSANDRA-21364
2026-05-11 15:03:05 -04:00
Benedict Elliott Smith 3256650bb6 Merge branch 'cassandra-6.0' into trunk 2026-05-09 17:07:29 +01:00
Benedict Elliott Smith 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 avoid taking two AccordExecutor locks simultaneously
 - MaxConflicts serializer
 - tryToExecuteListening after replay, to handle invalidated dependencies
 - TxnNamedRead does not close a RowIterator, leading to native memory leaks
 - GetLatestDepsNack serialization
 - journal.readLast() did not read last
 - DefaultRemoteListeners not correctly synchronised
 - RangeTxnScanner cancellation assumes was already started
 - Start cfk compaction before replay
 - txn_graph should avoid visiting parents twice (possible if two different dependency chains connecting them in the graph)
 - Topology.cloneEquivalentWithEpoch should also share nodeLookup and ranges, especially to accelerate computeWaitForEpoch/computeScope
 - Do not invoke slowReplicaDelay or slowCoordinatorDelay during restore
 - Do not fail if slowReplicaDelay or slowCoordinatorDelay are invoked without knowing the transaction

patch by Benedict; reviewed by Alex Petrov and Ariel Weisberg for CASSANDRA-21355
2026-05-09 16:46:00 +01:00
Dmitry Konstantinov bf79036ae0 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Reduce memory allocations in SelectStatement.getQuery
2026-05-07 13:43:37 +01:00
Dmitry Konstantinov f06770f036 Reduce memory allocations in SelectStatement.getQuery
SinglePartitionReadCommand.Group#create - typical single partition select, use singletonList instead of ArrayList + Object[]
SelectStatement#getSliceCommands - remove unnessesary cloning of partition key, it is a part of a very old patch, now we copy all values from Netty buffers
SelectStatement#getSliceCommands - typical single partition select, use singletonList instead of ArrayList + Object[]
SinglePartitionReadQuery.Group#maybeValidateIndex, avoid iterators for restrictionSet if a full partition is selected

patch by Dmitry Konstantinov; reviewed by Francisco Guerrero, Stefan Miklosovic for CASSANDRA-21351
2026-05-07 13:31:09 +01:00
Dmitry Konstantinov 9394991853 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Avoid allocation by getFunctions in SelectStatement.authorize
2026-05-06 13:14:15 +01:00
Dmitry Konstantinov bfc4b0bb36 Avoid allocation by getFunctions in SelectStatement.authorize
Memorize the result of getFunctions in SelectStatement constructor

patch by Dmitry Konstantinov; reviewed by Francisco Guerrero for CASSANDRA-21347
2026-05-06 13:00:51 +01:00
Dmitry Konstantinov 3742994000 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Add no-build-accord Ant option to be able to skip Accord module rebuild
2026-05-06 12:46:01 +01:00
Dmitry Konstantinov e64e119c8d Add no-build-accord Ant option to be able to skip Accord module rebuild
patch by Dmitry Konstantinov; reviewed by Stefan Miklosovic for CASSANDRA-21350
2026-05-06 12:42:26 +01:00
Stefan Miklosovic fe9f6c1630
Merge branch 'cassandra-6.0' into trunk 2026-05-05 10:45:14 +02:00
Stefan Miklosovic 3df9dc242c
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-05-05 10:39:00 +02:00
JwahoonKim 1c718ab40f
Fix failing select on system_views.settings for non-string keys
patch by JwahoonKim; reviewed by Jyothsna Konisa, Dmitry Konstantinov, Stefan Miklosovic for CASSANDRA-21348
2026-05-05 10:34:33 +02:00
Dmitry Konstantinov aa61536928 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Avoid unit conversion in DatabaseDescriptor.getMaxValueSize() for every deserializing Cell
2026-04-30 23:40:48 +01:00
Dmitry Konstantinov 3e75652232 Avoid unit conversion in DatabaseDescriptor.getMaxValueSize() for every deserializing Cell
patch by Dmitry Konstantinov; reviewed by Francisco Guerrero for CASSANDRA-21295
2026-04-30 23:32:02 +01:00
Scott Carey cbbd401244
Allow nodetool garbagecollect to take a user defined list of SSTables
patch by Scott Carey; reviewed by Stefan Miklosovic, Brandon Williams for CASSANDRA-16767
2026-04-30 13:53:45 +02:00
omniCoder77 eabd2a27f5
Add a guardrail for misprepared statements
patch by Rishabh Saraswat; reviewed by Stefan Miklosovic, Brad Schoening for CASSANDRA-21139
2026-04-30 13:31:03 +02:00
David Capwell cd75b9c6a1 Merge branch 'cassandra-6.0' into trunk 2026-04-29 11:41:25 -07:00
Alan Wang 8fd2443afc Fix single token batch atomicity with Accord/non-Accord batches by using the batch log
patch by Alan Wang; reviewed by Ariel Weisberg, David Capwell for CASSANDRA-20588
2026-04-29 11:37:10 -07:00
Caleb Rackliffe 7bd041d292 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Ensure SAI sends range tombstones to the coordinator for queries on static columns
2026-04-27 13:13:59 -05:00
Caleb Rackliffe 98f0a34f07 Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Ensure SAI sends range tombstones to the coordinator for queries on static columns
2026-04-27 13:06:48 -05:00
Caleb Rackliffe 8093c3c9ce Ensure SAI sends range tombstones to the coordinator for queries on static columns
patch by Caleb Rackliffe; reviewed by Andres de la Peña and David Capwell for CASSANDRA-21332
2026-04-27 13:01:00 -05:00
Dmitry Konstantinov 0cdde30252 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Avoid CompactionOptions parsing for every read by WithoutPurgeableTombstones
2026-04-26 22:15:17 +01:00
Dmitry Konstantinov ae418d2a1c Avoid CompactionOptions parsing for every read by WithoutPurgeableTombstones
patch by Dmitry Konstantinov; reviewed by Francisco Guerrero for CASSANDRA-21294
2026-04-26 21:59:56 +01:00
Stefan Miklosovic 42afa1bcbd
Merge branch 'cassandra-6.0' into trunk 2026-04-24 11:52:14 +02:00
Matt Byrd 456590d555
Ensure schema created before 2.1 without tableId in folder name can be loaded in SnapshotLoader
Best effort attempt to get tableId from CFS, fallback to null which
still allows snapshot to be loaded

End result is that nodetool clearsnapshot and listsnapshot function for such
snapshots on restart

In addition to 5.0 patch we move starting SnapshotManager to after TCM is initiliazed.
The consequence of such a move is that cleanup of ephemeral snapshots happens after startup checks pass.

patch by Matt Byrd; reviewed by Stefan Miklosovic, Brandon Williams and Francisco Guerrero for CASSANDRA-21246
2026-04-24 11:49:15 +02:00
Dmitry Konstantinov 1908b906f7 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Adjust QueriesTableTest to pass if SEP Threads renaming is disabled
2026-04-23 14:44:31 +01:00
Dmitry Konstantinov 37a60594f1 Adjust QueriesTableTest to pass if SEP Threads renaming is disabled
patch by Dmitry Konstantinov; reviewed by Stefan Miklosovic, Caleb Rackliffe for CASSANDRA-21318
2026-04-23 14:32:44 +01:00
Stefan Miklosovic ccb2785b09
Merge branch 'cassandra-6.0' into trunk 2026-04-23 13:47:09 +02:00
Stefan Miklosovic b91b9c23ea
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-04-23 13:44:54 +02:00
Stefan Miklosovic 2837bd7455
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-04-23 13:43:28 +02:00
Stefan Miklosovic 38245bb1e2
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-04-23 13:41:51 +02:00
Stefan Miklosovic 04febb75f1
Fix flaky CompactionTaskTest.testFullyExpiredSSTablesAreNotReleasedPrematurely
This fix was taken from e397aa06b1 (diff-3dbddb89a91055a1394ad89dcca2cd4506f01e40b7d73cb38fb0b0413fb0611a)

patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-21329
2026-04-23 13:38:29 +02:00