Commit Graph

32065 Commits

Author SHA1 Message Date
Stefan Miklosovic 9977bf0327
Merge branch 'cassandra-6.0' into trunk 2026-06-19 10:59:59 +02:00
Stefan Miklosovic 1bea48858e
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-06-19 10:52:09 +02:00
Stefan Miklosovic 4891454021
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-06-19 10:49:41 +02:00
Stefan Miklosovic 6edfd693bc
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-06-19 10:47:51 +02:00
Stefan Miklosovic d30ac083b8
Fix negative memtable allocator ownership when an update is shadowed by an existing row deletion
When BTreeRow.merge reconciles an update into a row whose existing deletion
shadows the update's cells, it filtered the update (incoming) side of the merge
with Reconciler.retain, which records the removal via
PostReconciliationFunction.delete. On the memtable write path that subtracts the
shadowed cells' on-heap size from the allocator's ownership even though that
incoming data was never allocated to the memtable. Under overwrite/delete churn
that re-applies cells already covered by a newer row/partition deletion (e.g.
repair re-streaming), the allocator's "owns" counter drifts negative and the next
flush trips "AssertionError: Negative released" in MemtablePool$SubPool.released
via MemtableAllocator$SubAllocator.releaseAll during discard.

Filter the update (incoming) side with a non-recording variant,
Reconciler.removeShadowed, and keep retain() for the existing side,
whose data the memtable already owns. The filtered result is identical; only the
erroneous accounting notification is dropped. This mirrors the already-correct
complex-column path in ColumnData.merge.

patch by Stefan Miklosovic; reviewed by Dmitry Konstantinov for CASSANDRA-21469

Assisted-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 10:46:04 +02:00
Maxim Muzafarov 6e72f6c1ab
Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Speed up nodetool doc generation by producing all command help in a single jvm
2026-06-18 12:11:20 +02:00
Maxim Muzafarov 7899b594b8
Speed up nodetool doc generation by producing all command help in a single jvm
patch by Maxim Muzafarov, reviewed by Dmitry Konstantinov for CASSANDRA-21444
2026-06-18 12:08:36 +02:00
Benedict Elliott Smith 7ac557c369 Merge branch 'cassandra-6.0' into trunk 2026-06-18 10:58:49 +01:00
Benedict Elliott Smith 3d40c8825c Expunged records may be resurrected:
CommandChanges.shouldCleanup short-circuits to NO if there is no data, but this is incorrect as Cleanup.EXPUNGE may have dropped the data and the record must receive cleanup EXPUNGE and be reported as ERASED.
Also Fix:
 - Populate CFK system table row markers so we can stop reading sstables as soon as we have data
 - system_accord_debug.executors has wrong clustering type
 - RemoteToLocalVirtualTable should lazily allocate the partition collector to avoid LIMIT clause filtering removing it before it's populated
 - ActiveEpochs.withNewEpochs should handle transition from 0 -> more than 1
 - RedundantBefore.minGcBefore should be NONE if empty
 - Update RangesForEpoch directly, so that we cannot have race conditions where the ownership is unknown
 - Avoid reentrancy on local callbacks
 - Ensure ReadCoordinator callbacks are invoked on owning thread
 - Avoid deadlock when notifying ComplexListener(s)
 - Release IntrusivePriorityHeap memory from large capacity heaps when empty
 - Prevent SynchronousRecoverAwait reentrancy when invoking onDone (by exposing and invoking invokeOnDone that first sets isDone)
 - maybeExecute must invoke either notWaiting or notifyWaiting to ensure tryExecuteListening terminates
Also Improve:
 - Configurable execute_waiting_on_start

patch by Benedict; reviewed by Alan Wang and Alex Petrov for CASSANDRA-21440
2026-06-18 10:58:31 +01:00
Francisco Guerrero 338449c0d0 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  putShortVolatile is not volatile in InMemoryTrie
2026-06-17 06:54:18 -05:00
Francisco Guerrero c9ffe11645 Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  putShortVolatile is not volatile in InMemoryTrie
2026-06-17 06:50:42 -05:00
Francisco Guerrero 659c0a526b putShortVolatile is not volatile in InMemoryTrie
This commit fixes several issues found using the Cassandra
edge case explorer skill for the BTI feature.

patch by Francisco Guerrero; reviewed by Aleksey Yeschenko for CASSANDRA-21353
2026-06-17 06:44:45 -05:00
Sam Tunnicliffe 38e0277503 Merge branch 'cassandra-6.0' into trunk 2026-06-17 12:33:24 +01:00
Alex Petrov 802ce7f8b2 Always send TCM commit failures as Messaging failures
Patch by Alex Petrov; reviewed by Sam Tunnicliffe for CASSANDRA-21457

Co-authored-by: Ariel Weisberg <aweisberg@apple.com>
2026-06-17 12:29:18 +01:00
David Capwell 017276263a Merge branch 'cassandra-6.0' into trunk 2026-06-16 10:48:17 -07:00
David Capwell 6c44f0561b Merge branch 'cassandra-5.0' into cassandra-6.0 2026-06-16 10:45:59 -07:00
David Capwell be797bd803 Merge branch 'cassandra-4.1' into cassandra-5.0 2026-06-16 10:44:24 -07:00
David Capwell 2949c8ed22 Merge branch 'cassandra-4.0' into cassandra-4.1 2026-06-16 10:40:43 -07:00
Alan Wang 41fd7c3e22 Consider first token of SSTable when calculating SSTable intersection in LeveledScanner
patch by Alan Wang; reviewed by David Capwell, Marcus Eriksson for CASSANDRA-21369
2026-06-16 10:38:19 -07:00
Jarek Potiuk 106e90b360
Add security-model discoverability (AGENTS.md -> SECURITY.md -> security model)
Wires the conventional AGENTS.md -> SECURITY.md -> security model chain so automated tooling
can mechanically discover the project's security model. No model content is changed.

patch by Jarek Potiuk; reviewed by Stefan Miklosovic, Michael Semb Wever for CASSANDRA-21464

Assisted-by: Claude Opus 4.8 (1M context)
2026-06-16 10:21:37 +02:00
Aleksey Yeshchenko 097505056d Merge branch 'cassandra-6.0' into trunk 2026-06-15 11:31:44 +01:00
Aleksey Yeshchenko ef6367ed10 Fix ReadCommand serializedSize() using incorrect epoch
patch by Aleksey Yeschenko; reviewed by Alex Petrov for CASSANDRA-21438
2026-06-15 11:29:49 +01:00
Aleksey Yeshchenko 629638b4db Merge branch 'cassandra-6.0' into trunk 2026-06-15 11:24:16 +01:00
Aleksey Yeshchenko f67f4ead45 Merge branch 'cassandra-5.0' into cassandra-6.0 2026-06-15 11:19:09 +01:00
Aleksey Yeshchenko 64a3fc0d3f Fix RequestFailureReason serializer and nits in a few others
patch by Aleksey Yeschenko; reviewed by Alex Petrov for CASSANDRA-21437
2026-06-15 11:16:19 +01:00
mck 308adc4f82
Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Implement splits for microbench test type
2026-06-14 16:50:50 +02:00
mck f1b6eafc76
Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Implement splits for microbench test type
2026-06-14 16:50:17 +02:00
Mick Semb Wever a1352e9be9
Implement splits for microbench test type
Also distinguish benches by jdk version and host arch.

 patch by Mick Semb Wever; reviewed by Dmitry Konstantinov for CASSANDRA-21242
2026-06-14 16:49:13 +02:00
Francisco Guerrero f7216abf4e Fix git hooks in cassandra builds where core.symlinks is false
patch by Francisco Guerrero; reviewed by TBD for CASSANDRA-21430
2026-06-11 14:14:39 -06:00
Francisco Guerrero a6209bdd94 Merge branch 'cassandra-6.0' into asftrunk
* cassandra-6.0:
  Fix git hooks in cassandra builds where core.symlinks is false
2026-06-11 14:11:38 -06:00
Francisco Guerrero 92a0863358 Fix git hooks in cassandra builds where core.symlinks is false
patch by Francisco Guerrero; reviewed by TBD for CASSANDRA-21430
2026-06-11 08:21:08 -06:00
Patrick McFadin 0d87b2d76a Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  CASSANDRA-21342: Fix broken Antora xref/anchor targets in cassandra docs
2026-06-10 11:54:33 -07:00
Patrick McFadin fc8883fc70 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.

Forward-merge of trunk commit 32826fe563 to cassandra-6.0, which was
omitted from the 2026-05-14 forward-merge of this fix to the release
branches. Two hunks in create-custom-index.adoc were already present
via the CASSANDRA-21342 long-tail forward-merge; one additional
unqualified collection-create xref in the same file (not present on
trunk at the time of the original patch) is fixed here. All retargeted
anchors verified present on cassandra-6.0, including
list-superusers-statement (absent on 5.0, present here).

 patch by Patrick McFadin; reviewed by Brandon Williams for CASSANDRA-21342
2026-06-10 11:54:15 -07:00
Patrick McFadin e8848b0040 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  CASSANDRA-21342: Long-tail xref follow-up (cassandra-4.0 subset)
2026-06-10 11:00:20 -07:00
Patrick McFadin b584529291 Merge branch 'cassandra-5.0' into cassandra-6.0
CASSANDRA-21342: Long-tail xref follow-up (cassandra-6.0)

Forward-merge of the trunk long-tail xref fix (commit cc97ee5332) to
cassandra-6.0. Twenty-six files updated; mechanical xref retargets and
three added [[anchor]] targets following the existing convention.

One conflict resolved: create-custom-index.adoc - took the trunk side
for both conflict blocks; the "For related information" line and the
collection-create/list/set bullet list now use
xref:cassandra:developing/cql/collections/...

Note: a separate broken xref at create-custom-index.adoc:58 remains on
cassandra-6.0 (out of scope here). It was fixed on trunk and
cassandra-5.0 by PR #4807 but appears to have been missed in the
forward-merge to cassandra-6.0. To be handled as a separate audit
follow-up.

 patch by Patrick McFadin; reviewed by Mick Semb Wever for CASSANDRA-21342
2026-06-10 11:00:19 -07:00
Patrick McFadin 42f306b152 Merge branch 'cassandra-4.1' into cassandra-5.0
CASSANDRA-21342: Long-tail xref follow-up (cassandra-5.0)

Forward-merge of the trunk long-tail xref fix (commit cc97ee5332) to
cassandra-5.0. Twenty-six files updated; mechanical xref retargets and
three added [[anchor]] targets following the existing convention.

One conflict resolved: architecture/index.adoc - kept 5.0's no-Accord
state with the snitch xref qualified to cassandra:managing/operating/.

 patch by Patrick McFadin; reviewed by Mick Semb Wever for CASSANDRA-21342
2026-06-10 10:59:45 -07:00
Patrick McFadin 1a463d753f Merge branch 'cassandra-4.0' into cassandra-4.1
CASSANDRA-21342: Long-tail xref follow-up (cassandra-4.1 subset)

Forward-merge of the cassandra-4.0 long-tail subset onto cassandra-4.1.
Same three files, same six edits as the 4.0 commit.

 patch by Patrick McFadin; reviewed by Mick Semb Wever for CASSANDRA-21342
2026-06-10 10:59:20 -07:00
Patrick McFadin 19ee803038 CASSANDRA-21342: Long-tail xref follow-up (cassandra-4.0 subset)
Subset of the trunk long-tail xref follow-up (commit cc97ee5332)
applicable to cassandra-4.0. Three files have broken patterns that
still apply on this branch after PR #4807's forward-merge: the
architecture index, finding_nodes, and use_tools self-page xrefs.

Six edits total. Mechanical retargets only; no prose was rewritten.

Edits omitted (trunk-only):
* Twenty files introduced in 5.0 or later (developing/cql/, reference/
  cql-commands/, managing/operating/, etc).
* use_tools.adoc edits 4 and 5 (different line state on 4.x;
  packet-capture anchor section structure differs).

 patch by Patrick McFadin; reviewed by Mick Semb Wever for CASSANDRA-21342
2026-06-10 10:59:01 -07:00
mck 344b408f35
Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  in cqlshlib unit reports also remove <testsuites> wrapping elements with attributes
2026-06-10 14:56:53 +02:00
mck 9e671eea52
Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  in cqlshlib unit reports also remove <testsuites> wrapping elements with attributes
2026-06-10 14:55:12 +02:00
mck 2a697431c7
in cqlshlib unit reports also remove <testsuites> wrapping elements with attributes
patch by Mick Semb Wever; reviewed by Dmitry Konstantinov for CASSANDRA-21442
2026-06-10 14:53:40 +02:00
Alex Petrov 3831d8265d
Add suite of skills for AI
patch by Alex Petrov; reviewed by Stefan Miklosovic for CASSANDRA-21373
2026-06-09 17:31:47 +02:00
Marcus Eriksson a434c91c56 Merge branch 'cassandra-6.0' into trunk 2026-06-09 12:52:10 +02:00
Matt Byrd 9017e18fa1 Allocation improvements in ProtocolVersion, StorageProxy and MerkleTree
Patch by Matt Byrd; reviewed by Dmitry Konstantinov and marcuse for CASSANDRA-21199
2026-06-09 12:50:00 +02:00
Benedict Elliott Smith c61bd06a01 Merge branch 'cassandra-6.0' into trunk 2026-06-09 10:14:59 +01:00
Benedict Elliott Smith 24717dbb0c ninja follow-up to CASSANDRA-21212: fix AccordVirtualTablesTest.tableUpdates 2026-06-09 10:14:47 +01:00
Marcus Eriksson 6fcd0cd094 Merge branch 'cassandra-6.0' into trunk 2026-06-09 08:34:50 +02:00
Marcus Eriksson 8fa9a75fc2 Don’t leave autocompaction disabled during bootstrap and replace
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-21236
2026-06-09 08:31:51 +02:00
Marcus Eriksson ea495907e1 Make nodetool abortbootstrap more robust
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-21235
2026-06-09 08:30:12 +02:00
Marcus Eriksson 740879d5a0 Don't clear prepared statement cache on nodetool cms initialize
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-21234
2026-06-09 08:29:02 +02:00