Commit Graph

32109 Commits

Author SHA1 Message Date
Maxim Muzafarov a84647c6c7
Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Remove golang dependency in gen-doc and replace with python implementation
2026-06-08 22:00:27 +02: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
Benedict Elliott Smith 45eee68f55 Merge branch 'cassandra-6.0' into trunk 2026-06-08 14:30:50 +01: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 6ccc9d1d6d
Merge branch 'cassandra-6.0' into trunk 2026-06-08 11:25:02 +02: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 5816595ff1
Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Fix ci-cassandra.a.o agent workspaces for Cassandra-5.0 (and above) not being cleaned
2026-06-07 11:54:40 +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 bd900f5c03
Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Preload dependencies in build docker images to reduce downloading at build/test/ci runtime
2026-06-05 21:07:58 +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 1705c1b64c Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Reduce memory allocations in miscellaneous places along read path
2026-06-05 12:48:54 +01: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 061749b0ae Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Avoid ByteBuffer wrapping in cql3.selection.Selector.InputRow to reduce memory allocation rate
2026-06-04 19:28:55 +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 ac19ddc68d
Merge branch 'cassandra-6.0' into trunk 2026-06-04 11:13:57 +02: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
Arvind Kandpal 36b23cba1f
Document COPY TO limitation for control characters in text columns
COPY TO does not support control characters in text column values per
RFC 4180. This patch documents the limitation in the cqlsh reference,
including the security risks and alternative tools for data migration.

patch by Arvind Kandpal; reviewed by Brad Schoening, Stefan Miklosovic for CASSANDRA-21415

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-03 00:03:41 +02:00
Stefan Miklosovic 50960a2e7e
Remove 4.0 upgrade paths and related 4.0 tests
patch by Stefan Miklosovic; reviewed by Michael Semb Wever for CASSANDRA-21324
2026-06-02 23:54:38 +02:00
Dmitry Konstantinov e8cfd1acff Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Reduce cost to calculate BTreeRow.minDeletionTime
2026-06-02 22:00:51 +01: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
Francisco Guerrero df6b4fb46c Establish the Security Model for Cassandra
patch by Francisco Guerrero; reviewed by Stefan Miklosovic for CASSANDRA-21392
2026-06-02 10:26:58 -07:00
Dmitry Konstantinov e6642fe4c9 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Implement custom CassandraThread to keep direct references to frequently used thread local objects
2026-06-02 14:02:17 +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 d3923f822e Merge branch 'cassandra-6.0' into trunk 2026-06-02 13:48:39 +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
Patrick McFadin cc97ee5332 CASSANDRA-21342: Long-tail xref follow-up on trunk
Follow-up to the umbrella patch for CASSANDRA-21342 (merged 2026-05-14).
Closes the long-tail of trunk xref errors that remained after the first
wave landed.

Mechanical retargets only; no prose was rewritten and no pages were
added or removed. Anchors that did not exist are added with the
project's existing [[anchor]] convention.

Edit classes:
* Module-prefix xrefs: bare/partial paths -> cassandra:-qualified
* Moved-page xrefs: retarget to current home on trunk
* Filename typo: defintions.adoc -> definitions.adoc
* Extension: .html -> .adoc; writetime retargeted to functions.adoc
* nodetool xrefs: qualify to cassandra:managing/tools/nodetool/
* Anchors: add three missing [[anchor]] targets and retarget the
  xrefs that point at them

For every still-existing anchor target the destination page and
[[anchor]] (or generated section id) were grep-verified on
upstream/trunk before the edit. Triage was driven by the 2026-04-21
Antora 3 baseline (Jenkins #2752); patterns where no source file on
trunk still references the old target were treated as already-closed
and not touched.

Build verification: cassandra-website built locally with Antora 3
against this branch as the cassandra source drops trunk-level errors
from 161 (baseline) to 3. The three remaining errors are all in
cassandra-website source (blog posts + main-nav.adoc) and out of
scope for this patch.

Drafting and triage were performed with AI assistance (Anthropic
Claude); the change set is reviewable as mechanical xref retargets
and anchor additions. Source provenance per ASF generative tooling
guidance.

 patch by Patrick McFadin; reviewed by Mick Semb Wever for CASSANDRA-21342
2026-06-01 16:33:31 -07:00
Dmitry Konstantinov 6eb2d5d880 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Avoid megamorphic call overhead at RandomAccessReader#current
2026-06-01 12:23:36 +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 e6064f11c1 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Enable async GC logging for JDK versions which support it to avoid potential hiccups caused by GC log file I/O blocking
2026-05-31 13:27: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
Stefan Miklosovic c59ae41217
Merge branch 'cassandra-6.0' into trunk 2026-05-31 11:27:44 +02: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 9c3caa8c95 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  A test emitting both a failure and error element in the same JUnit XML testcase crashes CI summary generation
2026-05-30 16:54:57 +01: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
David Capwell 7456dbc82e ShardDurability.markDefunct() called O(N²) times across topology updates, causing log spam and OOM in tests
patch by David Capwell; reviewed by Benedict Elliott Smith for CASSANDRA-21410
2026-05-29 09:18:54 -07:00
Stefan Miklosovic ad9db90a1f
Merge branch 'cassandra-6.0' into trunk 2026-05-29 16:21:26 +02: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