Commit Graph

31855 Commits

Author SHA1 Message Date
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 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 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
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 24717dbb0c ninja follow-up to CASSANDRA-21212: fix AccordVirtualTablesTest.tableUpdates 2026-06-09 10:14:47 +01: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
Marcus Eriksson 9af2b2cdf8 Improve performance deserializing cluster metadata
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-21224
2026-06-09 08:26:28 +02:00
Marcus Eriksson b6c274933e Minor TokenMap performance improvement
Patch by marcuse; reviewed by Dmitry Konstantinov and Sam Tunnicliffe for CASSANDRA-21223
2026-06-09 08:24:09 +02:00
Marcus Eriksson af5eed2a32 Handle lost response when committing PrepareMove
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-21222
2026-06-09 08:22:45 +02:00
Dmitry Konstantinov 88aa5b6807 SEPExecutor.maybeExecuteImmediately does not always execute tasks immediately despite available worker capacity
Additional improvement: use a wait-free logic to return a task or work permit

patch by Dmitry Konstantinov; reviewed by Benedict Elliott Smith for CASSANDRA-21429
2026-06-08 22:56:07 +01:00
Maxim Muzafarov 22eb0f9fb7
Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Remove golang dependency in gen-doc and replace with python implementation
2026-06-08 21:54:28 +02:00
Maxim Muzafarov 8c992cb6a5
Remove golang dependency in gen-doc and replace with python implementation
patch by Maxim Muzafarov; reviewed by Dmitry Konstantinov for CASSANDRA-21432
2026-06-08 21:47:08 +02:00
Alan Wang be4ddab9dd Safely regain ranges and delete retired command stores
patch by Alan Wang; reviewed by Benedict for CASSANDRA-21212
2026-06-08 14:28:46 +01:00
Stefan Miklosovic 57ecd4c101
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-06-08 11:12:52 +02:00
Stefan Miklosovic 1c19e860d7
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-06-08 10:56:40 +02:00
Stefan Miklosovic 2bf3bc2925
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-06-08 10:52:20 +02:00
Cameron Zemek 8aa71cea52
Remove inFlightEcho entry on ECHO_REQ failure
patch by Cameron Zemek; reviewed by Stefan Miklosovic, Caleb Rackliffe for CASSANDRA-21428
2026-06-08 10:47:24 +02:00
mck f33c11341e
Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Fix ci-cassandra.a.o agent workspaces for Cassandra-5.0 (and above) not being cleaned
2026-06-07 11:53:30 +02:00
mck 26bdaa5ae5
Fix ci-cassandra.a.o agent workspaces for Cassandra-5.0 (and above) not being cleaned
The build+test cells run in `ws("workspace/${JOB_NAME}/${BUILD_NUMBER}/${cell.step}/${cell.arch}/jdk-${cell.jdk}/python-${cell.python}")`, so every build writes a new per-build directory.
The `cleanWs()` only cleans the current cell's leaf, and it sat as the last statement in the `ws` block — so any cell hitting error() (failed/timed-out/aborted) exits before reaching it and leaves the full cell's workspace build behind.

 patch by Mick Semb Wever; reviewed by Dmitry Konstantinov for CASSANDRA-20436
2026-06-07 11:48:17 +02:00
mck 14ace18ae4
Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Preload dependencies in build docker images to reduce downloading at build/test/ci runtime
2026-06-05 21:04:09 +02:00
mck b78f654fff
Preload dependencies in build docker images to reduce downloading at build/test/ci runtime
Additional fixes
 - upgrade ubuntu-test.docker to ubuntu 22.04 (and some small fixes brought forward from CASSANDRA-20997)
 - (.jenkins/k8s) changes gke's small node pool from n2-highcpu-8 to e2-highcpu-8 (gke's own pod resources reqs increased)
 - (.jenkins/k8s) limit one agent pod per node (when jenkins is deployed in k8s using our helm)
 - (.jenkins/k8s) add the cassandra-6.0 job
 - pass maven.repo.local sys prop, if set, into accord's gradle build
 - check and fail on maven dependencies checksums when downloading
 - when on-the-fly building docker images add `--load` (podman compatbility)
 - newer python versions can use venv instead of virtualenv
 - rename ubuntu2004_test.docker to ubuntu-test.docker (in 5.0)
 - (Jenkinsfile) fix retries (which was no longer working when agents/nodes died, since CASSANDRA-20833)
 - (Jenkinsfile) @NonCPS where (now) needed
 - (Jenkinsfile) fix default value for the branch parameter (after a new helm deploy)
 - (.build/run-ci) fix missing parameters on jobs also at helm deploy time
 - (.build/run-ci) .git suffixes on repo urls are optional

 patch by Mick Semb Wever; reviewed by Dmitry Konstantinov, Stefan Miklosovic for CASSANDRA-21403
2026-06-05 21:01:30 +02:00
Dmitry Konstantinov 64e041788a Reduce memory allocations in miscellaneous places along read path
org.apache.cassandra.db.rows.RangeTombstoneMarker.Merger is allocated on demand
Optional usage in org.apache.cassandra.db.rows.UnfilteredRowIteratorWithLowerBound is replaced with a boolean field
Double in org.apache.cassandra.io.util.CompressedChunkReader#getCrcCheckChance - specialized supplier is used to avoid boxing
Stack - adjust default from 5 to 6 to avoid extra resizings in org.apache.cassandra.db.transform.Stack#resize
EnumSet for CL guardrail in SelectStatement - add a condition to allocate it only if the guardrail is enabled
EnumSet in ResultMetadata - replace it with plain int flags

patch by Dmitry Konstantinov; reviewed by Francisco Guerrero for CASSANDRA-21360
2026-06-05 12:34:35 +01:00
Dmitry Konstantinov 0d2160631a Avoid ByteBuffer wrapping in cql3.selection.Selector.InputRow to reduce memory allocation rate
Current ReadCommand logic returns ArrayCell values, so when we retrieve a cell value as a ByteBuffer we allocate ByteBuffer instances

patch by Dmitry Konstantinov; reviewed by Francisco Guerrero for CASSANDRA-21362
2026-06-04 19:19:36 +01:00
Stefan Miklosovic 62a3797ce3
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-06-04 10:41:44 +02:00
Stefan Miklosovic 2a219ed873
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-06-04 10:37:40 +02:00
Stefan Miklosovic eacc60fa37
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-06-04 10:22:23 +02:00
Stefan Miklosovic 1362ac6f69
Validate snapshot names
The validation of snapshot names is turned off by default.
It is controlled by system property cassandra.snapshot.validation which is by default
set to false except 7.0 branch.

When the validation is turned on, the allowed characters are AWS safe characters together
with "+" character. A user can not specify any path separators in snapshot names even if
the validation as such is turned off.

patch by Stefan Miklosovic; reviewed by Francisco Guerrero, Matt Byrd for CASSANDRA-21389
2026-06-04 10:18:27 +02:00
Dmitry Konstantinov 6c31b04ec0 Reduce cost to calculate BTreeRow.minDeletionTime
patch by Dmitry Konstantinov; reviewed by Francisco Guerrero for CASSANDRA-21414
2026-06-02 21:41:54 +01:00
Dmitry Konstantinov 72d53e3919 Implement custom CassandraThread to keep direct references to frequently used thread local objects
patch by Dmitry Konstantinov; reviewed by Benedict Elliott Smith, Stefan Miklosovic for CASSANDRA-21020
2026-06-02 13:56:59 +01:00
Benedict Elliott Smith e278f0cbbc Merge branch 'cassandra-5.0' into cassandra-6.0 2026-06-02 13:48:31 +01:00
Benedict Elliott Smith 1656a9cb01 Merge branch 'cassandra-4.1' into cassandra-5.0 2026-06-02 13:46:18 +01:00
Benedict Elliott Smith 37b85a35b4 Merge branch 'cassandra-4.0' into cassandra-4.1 2026-06-02 13:45:58 +01:00
abeckruiz 863cb651e7 BTree.FastBuilder.reset() fails to clear savedBuffer and savedNextKey, causing ClassCastException and SSTable header corruption during schema disagreement
patch by Andrés Beck-Ruiz, Runtian Liu; reviewed by Zhao Yang, Benedict Elliott Smith for CASSANDRA-21216

Co-authored-by: Runtian Liu <runtian@uber.com>
2026-06-02 10:14:26 +01:00
Dmitry Konstantinov c0999f04d1 Avoid megamorphic call overhead at RandomAccessReader#current
patch by Dmitry Konstantinov; reviewed by Stefan Miklosovic, Francisco Guerrero for CASSANDRA-21399
2026-06-01 12:10:26 +01:00
Dmitry Konstantinov e2dae5e7a0 Enable async GC logging for JDK versions which support it to avoid potential hiccups caused by GC log file I/O blocking
patch by Dmitry Konstantinov; reviewed by Stefan Miklosovic for CASSANDRA-21372
2026-05-31 12:58:27 +01:00
walcp1 bbff4f8d18
Add rowsMutatedPerWriteHistogram metric to track rows mutated per write request
patch by Piotrek Walczak; reviewed by Dmitry Konstantinov, Stefan Miklosovic for CASSANDRA-21320
2026-05-31 11:26:02 +02:00
Dmitry Konstantinov ae447445b3 Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  A test emitting both a failure and error element in the same JUnit XML testcase crashes CI summary generation
2026-05-30 16:45:06 +01:00
Dmitry Konstantinov ffe7f761b8 A test emitting both a failure and error element in the same JUnit XML testcase crashes CI summary generation
patch by Dmitry Konstantinov; reviewed by Michael Semb Wever for CASSANDRA-21396
2026-05-30 16:23:50 +01:00
pwalczak 03450cdea6
Add TotalRowsRead and TotalRowsMutated counters to TableMetrics for accurate per-table row throughput tracking
patch by Piotrek Walczak; reviewed by Dmitry Konstantinov, Stefan Miklosovic for CASSANDRA-21321
2026-05-29 16:20:38 +02:00
Stefan Miklosovic e21461e4e8
Move exception handling of SPI startup checks when iterating over them
patch by Stefan Miklosovic; reviewed by Caleb Rackliffe for CASSANDRA-21409
2026-05-29 09:35:52 +02:00
Dmitry Konstantinov 9198058986 Avoid type lookup in SerializationHeader#getType if schema and SSTable are aligned
patch by Dmitry Konstantinov; reviewed by Francisco Guerrero for CASSANDRA-21402
2026-05-28 15:11:03 +01:00
Dmitry Konstantinov 454f62d45a Replace LongAdder in metric-like logic with ThreadLocalCounter
patch by Dmitry Konstantinov; reviewed by Stefan Miklosovic for CASSANDRA-21400
2026-05-28 14:22:47 +01:00
David Capwell bc6e4a2b63 Fix flaky test DropAccordTableTest
patch by David Capwell; reviewed by Caleb Rackliffe for CASSANDRA-21397
2026-05-27 15:21:07 -07:00
Dmitry Konstantinov bf711a0fc1 BTreeRow.hasLiveData: avoid Cell iteration if there are no cell tombstones
patch by Dmitry Konstantinov; reviewed by Francisco Guerrero for CASSANDRA-21363
2026-05-26 15:33:28 +01:00