Commit Graph

31965 Commits

Author SHA1 Message Date
Stefan Miklosovic e874e3a90b
Prepare debian changelog for 6.0-alpha2 2026-07-28 13:55:01 +02:00
Stefan Miklosovic f6fa474948
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-07-28 13:21:39 +02:00
Stefan Miklosovic b5f2a54210
Prepare debian changelog for 5.0.9 2026-07-28 12:57:24 +02:00
Stefan Miklosovic 4c1d57e6f3
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-07-28 12:35:15 +02:00
Stefan Miklosovic 5e1d691818
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-07-28 12:35:06 +02:00
Stefan Miklosovic 2ddb92091c
Prepare debian changelog for 4.1.12 2026-07-28 12:18:07 +02:00
Stefan Miklosovic f8b887e4df
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-07-28 11:53:27 +02:00
Stefan Miklosovic d7da71a88a
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-07-28 11:53:14 +02:00
Stefan Miklosovic bde65f163e
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-07-28 11:53:03 +02:00
Stefan Miklosovic 172099f4a8
Prepare debian changelog for 4.0.21 2026-07-28 11:38:14 +02:00
Francisco Guerrero 247289d7b6 Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Bound declared value length against readable bytes in CBUtil
2026-07-27 10:13:42 -05:00
Francisco Guerrero ecc0a3e77b Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Bound declared value length against readable bytes in CBUtil
2026-07-27 10:05:03 -05:00
Francisco Guerrero 2507eceb29 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Bound declared value length against readable bytes in CBUtil
2026-07-27 10:01:06 -05:00
Francisco Guerrero 251b0e9b91 Bound declared value length against readable bytes in CBUtil
A 32-bit length field read from the wire by CBUtil.readValue (and its
siblings) flowed directly into new byte[length] with no upper bound,
allowing an unauthenticated client to drive the JVM into
OutOfMemoryError: 'Requested array size exceeds VM limit' — and, with
the default -XX:OnOutOfMemoryError=kill -9 %p, terminate the process —
by declaring Integer.MAX_VALUE as the SASL-token length in AUTH_RESPONSE.

Guard the allocation in the single private readRawBytes(ByteBuf, int)
that all int32-length readers funnel through, rejecting lengths that
exceed the buffer's readable bytes with a ProtocolException.

patch by Francisco Guerrero; reviewed by Stefan Miklosovic for CASSANDRA-21521
2026-07-27 09:51:36 -05:00
Francisco Guerrero 3cae8aa6f6 ninja fix: ensure defaultReadThresholds is cleared for CASSANDRA-21467 2026-07-27 09:31:35 -05:00
Maxim Muzafarov c4c3048b13
Allow unreserved keywords as user and identity names in USER and IDENTITY statements
patch by Maxim Muzafarov; reviewed by Dmitry Konstantinov for CASSANDRA-21510
2026-07-27 16:03:06 +02:00
Francisco Guerrero 8fc52f5d2f
Reduce allocations in DefaultQueryOptions when read thresholds are enabled
patch by Francisco Guerrero; reviewed by Dmitry Konstantinov, Stefan Miklosovic for CASSANDRA-21467
2026-07-27 15:50:28 +02:00
Francisco Guerrero f7f52421c7 Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Ensure a Message's Response streamId is always set
2026-07-26 21:06:39 -05:00
Francisco Guerrero 79c8669b84 Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Ensure a Message's Response streamId is always set
2026-07-26 20:59:15 -05:00
Francisco Guerrero 9ddfe0fb22 Ensure a Message's Response streamId is always set
patch by Francisco Guerrero; reviewed by Caleb Rackliffe, Benedict Elliot Smith, Tejal Chakeres, Alexander Mitin for CASSANDRA-21508
2026-07-26 20:51:21 -05:00
Dmitry Konstantinov ddfdf5d69f Reduce number of scheduledTasks on metric id release in ThreadLocalMetrics
Use a single one-time scheduled task with two tick-tock buffers to recycle metric IDs after a sufficiently long delay.
Use phantom references for ThreadLocalMetrics cleanup ony if it is needed to reduce the references processing overhead.

patch by Dmitry Konstantinov; reviewed by Benedict Elliott Smith for CASSANDRA-21475
2026-07-26 17:46:40 +01:00
koo.taejin 03304bce53
Cache various Enum.values() used in deserialization to avoid per-read array allocation
patch by Koo Taejin; reviewed by Dmitry Konstantinov, Stefan Miklosovic for CASSANDRA-21528
2026-07-26 11:15:22 +02:00
Arvind Kandpal f51c29c196
Add compound primary key example to nodetool getendpoints help
patch by Arvind Kandpal; reviewed by Dmitry Konstantinov, Stefan Miklosovic for CASSANDRA-15904
2026-07-25 09:53:44 +02:00
dhingarkan 564d30ad8e
Fix Accord transaction error message when altering a table
patch by Motoki Unno; reviewed by Dmitry Konstantinov, Stefan Miklosovic for CASSANDRA-20580
2026-07-24 23:22:26 +02:00
Dmitry Konstantinov 0040482e26
Reduce disk space usage by CommitLogSegmentManagerCDCTest
patch by Dmitry Konstantinov; reviewed by Michael Semb Wever for CASSANDRA-21534
2026-07-24 13:13:17 +02:00
Stefan Miklosovic 4066139d3f
ninja: fix wrong default for compression_dictionary_cache_expire in documentation 2026-07-22 14:57:00 +02:00
Stefan Miklosovic fb46c8126f
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-07-22 10:49:05 +02:00
Stefan Miklosovic 1920fffad3
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-07-22 10:48:05 +02:00
Stefan Miklosovic 2293c58805
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-07-22 10:46:34 +02:00
Arvind Kandpal 28ec2730bd
Remove unused cassandra.boot_without_jna from cassandra-env.sh documentation
patch by Arvind Kandpal; reviewed by Stefan Miklosovic for CASSANDRA-20611
2026-07-22 10:45:06 +02:00
Shubhang Singh e9cab5ebb1
Fix broken links in README.asc
patch by Shubhang Singh; reviewed by Stefan Miklosovic for CASSANDRA-20985
2026-07-22 10:32:09 +02:00
Stefan Miklosovic 15a6bac06d
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-07-20 20:45:18 +02:00
Stefan Miklosovic bd345213c1
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-07-20 20:43:56 +02:00
Stefan Miklosovic 1c702382de
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-07-20 20:42:36 +02:00
Jeremiah Jordan 26d7b166ba
Verify extension type before initializing reflectively-loaded classes
Cassandra resolves pluggable extensions by class name from configuration, schema, and tooling
inputs. These names were loaded with an initializing Class.forName(name) and type-checked only
afterward, so the named class ran its static initializer before its type was confirmed. After this
change such classes will be loaded without initialization, verified against the expected interface or
base class, and initialized only through normal use after validation.

A shared FBUtilities.classForNameWithoutInitialization helper and typed
instanceOrConstruct/construct overloads apply this to the configurable extension points loaded by
class name: the authentication, authorization, role-management, network and
internode-authenticator backends, the partitioner, audit logger, configuration loader, seed provider,
snitch, abstract types, secondary and custom indexes, compaction strategy, compressor, replication
strategy, SASI analyzers, key and cache providers, query handler, storage and stream hooks, tracing,
the JMX authorization proxy, MBeans, the monotonic clock, nodetool Sjk, triggers, the
sstableloader and stress class options, and diagnostic event classes (loaded without initialization
and checked against DiagnosticEvent, preserving the InvalidClassException contract and the existing
package restriction).

Regression tests confirm that an invalid-type load is rejected without initializing the target
class, and that valid implementations still resolve.

Hadoop client integration and hard-coded JDK and internal class probes are left unchanged.

patch by Jeremiah Jordan; reviewed by Stefan Miklosovic for CASSANDRA-21525
2026-07-20 20:03:45 +02:00
Caleb Rackliffe 27cc24bc79 Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  SAI Component Checksum Validation Should be Segment-Aware
2026-07-18 23:14:02 -05:00
Caleb Rackliffe 4bd98de6ee SAI Component Checksum Validation Should be Segment-Aware
patch by Caleb Rackliffe; reviewed by Francisco Guerrero for CASSANDRA-21516
2026-07-18 22:53:56 -05:00
Stefan Miklosovic fe11477010
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-07-13 14:42:34 +02:00
Stefan Miklosovic 86d7aeb955
Prepare debian changelog for 5.0.9 2026-07-13 14:29:17 +02:00
Stefan Miklosovic 181e7322c5
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-07-13 14:22:18 +02:00
Stefan Miklosovic bccfa7ace4
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-07-13 14:22:03 +02:00
Stefan Miklosovic 2beef3f8af
Prepare debian changelog for 4.1.12 2026-07-13 14:05:05 +02:00
Stefan Miklosovic da87b48f70
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-07-13 13:35:41 +02:00
Stefan Miklosovic 3668f984c2
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-07-13 13:35:29 +02:00
Stefan Miklosovic 3bd656f272
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-07-13 13:35:14 +02:00
Stefan Miklosovic 33c1dbe5b8
Prepare debian changelog for 4.0.21 2026-07-13 13:12:00 +02:00
Dmitry Konstantinov 45f04ad9fa Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Fix flakiness in CommitLogSegmentManagerCDCTest
2026-07-12 22:04:15 +01:00
Dmitry Konstantinov a14a954788 Fix flakiness in CommitLogSegmentManagerCDCTest
Restore deleteCDCRawFiles logic which is present in 6.0 and trunk but probably lost in 5.0 due to merges
Files may be concurrently removed by the CDC management thread, so we tolerate a file that has already been deleted rather than failing the test.
Fix IndexOutOfBoundsException at commitlog.AbstractCommitLogSegmentManager.forceRecycleAll - it is already fixed in 6.0/trunk.
Cleanup test data after run to reduce disk usage.

Patch by Dmitry Konstantinov; reviewed by Michael Semb Wever for CASSANDRA-20091
2026-07-12 21:55:58 +01:00
Maxim Muzafarov 7874fdae57
Forbid ambiguous option/parameter keys in nodetool command hierarchy
patch by Maxim Muzafarov; reviewed by Dmitry Konstantinov for CASSANDRA-21509
2026-07-11 21:31:41 +02:00
Mick Semb Wever 03b9b71d52
Prepare debian changelog for 6.0-alpha2 2026-07-10 16:53:07 +02:00