Commit Graph

32000 Commits

Author SHA1 Message Date
Stefan Miklosovic 5ddc434569
Merge branch 'cassandra-6.0' into trunk 2026-06-24 13:52:59 +02:00
Stefan Miklosovic 3c23da478f
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-06-24 13:49:23 +02:00
Patrick Lee db631675df
Fix AssertionError in hasReplicaWithOngoingRepair when parallel_repair_count > 1
patch by Patrick Lee; reviewed by Paulo Motta, Jaydeepkumar Chovatia for CASSANDRA-21426

Co-authored-by: Paulo Motta <paulo@apache.org>
2026-06-24 13:45:43 +02:00
Stefan Miklosovic 4c252387d2
Merge branch 'cassandra-6.0' into trunk 2026-06-24 13:21:31 +02:00
Stefan Miklosovic 39d18f50d2
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-06-24 13:14:22 +02:00
Stefan Miklosovic 4b821d1bc7
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-06-24 13:12:29 +02:00
Stefan Miklosovic 19dcb2b784
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-06-24 13:10:18 +02:00
Arvind Kandpal c2901c71eb
Fix skipped tests and flakiness in CassandraRoleManagerTest
Adds missing @Test annotations to testPasswordUpdateRateLimiting and testPasswordUpdateRateLimitingDisabled.
Also fixes minor typos in comments and assertion strings.
Fix flaky CassandraRoleManagerTest by grouping per-role rate limit checks consecutively.

patch by Arvind Kandpal; reviewed by Stefan Miklosovic, Michael Semb Wever for CASSANDRA-21262
2026-06-24 13:04:14 +02:00
Stefan Miklosovic 0324f01de2
Merge branch 'cassandra-6.0' into trunk 2026-06-24 11:26:27 +02:00
Stefan Miklosovic 0673d743aa
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-06-24 11:25:16 +02:00
Stefan Miklosovic a3ee4c4f9a
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-06-24 11:23:40 +02:00
Stefan Miklosovic 003f35ba51
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-06-24 11:21:42 +02:00
maoling 0f9f6dd6e5
Fix flaky Test org.apache.cassandra.io.sstable.VerifyTest.testMutateRepair
patch by Ling Mao; reviewed by Stefan Miklosovic, Dmitry Konstantinov for CASSANDRA-18919
2026-06-24 11:18:15 +02:00
Dmitry Konstantinov aaae5b6417 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  run_cqlsh.py: fix parsing of a multi-byte UTF-8 sequence, os.read()/pipe reads can split the sequence across two reads
2026-06-23 13:02:16 +01:00
Dmitry Konstantinov abd7dea7aa Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  run_cqlsh.py: fix parsing of a multi-byte UTF-8 sequence, os.read()/pipe reads can split the sequence across two reads
2026-06-23 13:01:01 +01:00
Dmitry Konstantinov 5858baf199 run_cqlsh.py: fix parsing of a multi-byte UTF-8 sequence, os.read()/pipe reads can split the sequence across two reads
patch by Dmitry Konstantinov; reviewed by Stefan Miklosovic for CASSANDRA-21466
2026-06-23 12:55:46 +01:00
Kokoori, Shylaja c68dd59d4a
Implementation of CEP-49: Hardware-accelerated compression
The implementation of this CEP adds the ability to plug-in custom compressors providers
which might delegate the de/compression to a specialized hardware. An operator does not
need to change any schema definition, the mere implementation of a compressor provider
put on a class path and its related configuration in cassandra.yaml will transparently
start to use appropriate compressor, e.g. backed by a specialized hardware.

patch by Shylaja Kokoori; reviewed by Joey Lynch, Stefan Miklosovic for CASSANDRA-20975

Co-authored-by: Stefan Miklosovic <smiklosovic@apache.org>
2026-06-23 11:37:53 +02:00
Dmitry Konstantinov f7bcc1b8e1 Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Fix TLS-related tests after a JDK update in build image
2026-06-21 22:23:43 +01:00
Dmitry Konstantinov 105694f625 Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Fix TLS-related tests after a JDK update in build image
2026-06-21 22:05:32 +01:00
Dmitry Konstantinov fb7efd6219 Fix TLS-related tests after a JDK update in build image
add SAN to certificates used by tests
add TLS_ECDHE_* to ciphers list in SSTableLoaderEncryptionOptionsTest

Patch by Dmitry Konstantinov; reviewed by Michael Semb Wever for CASSANDRA-21441
2026-06-21 21:56:39 +01:00
Dmitry Konstantinov 961f813dac Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Report cancelled read command execution to coordinator as a RequestFailure.TIMEOUT
2026-06-20 15:04:06 +01:00
Dmitry Konstantinov d46b8a827a Report cancelled read command execution to coordinator as a RequestFailure.TIMEOUT
patch by Dmitry Konstantinov; reviewed by Sam Tunnicliffe for CASSANDRA-21468
2026-06-20 15:02:11 +01:00
Maxim Muzafarov 1b37872410
Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
  Rename conflicting nodetool import --copy-data short option from -p to -cd
2026-06-19 22:27:38 +02:00
Maxim Muzafarov d1212e8017
Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Rename conflicting nodetool import --copy-data short option from -p to -cd
2026-06-19 22:24:25 +02:00
Maxim Muzafarov 3fa111c70f
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Rename conflicting nodetool import --copy-data short option from -p to -cd
2026-06-19 22:17:16 +02:00
Maxim Muzafarov 95088443ff
Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Rename conflicting nodetool import --copy-data short option from -p to -cd
2026-06-19 22:00:30 +02:00
Maxim Muzafarov bd835726f2
Rename conflicting nodetool import --copy-data short option from -p to -cd
Patch by Maxim Muzafarov; reviewed by Stefan Miklosovic, Caleb Rackliffe, Bernardo Botella Corbi for CASSANDRA-20214
2026-06-19 21:58:04 +02:00
Sam Tunnicliffe 4ea936b2c7 Merge branch 'cassandra-6.0' into trunk 2026-06-19 16:11:57 +01:00
Jon Meredith 9a896cbaeb Add policy for selecting CMS host when submitting commit request
Patch by Jon Meredith; reviewed by Sam Tunnicliffe for CASSANDRA-21456
2026-06-19 16:07:57 +01:00
Jon Meredith 44ee9d6167 Unable to catch up TCM Log from peer with gaps in log sequence
Patch by Jon Meredith and Marcus Eriksson; reviewed by Sam Tunnicliffe
for CASSANDRA-21455

Co-authored-by: Marcus Eriksson <marcuse@apache.org>
2026-06-19 16:07:41 +01:00
Stefan Miklosovic 9fdc212b4b
Merge branch 'cassandra-6.0' into trunk 2026-06-19 15:55:34 +02:00
Stefan Miklosovic 1d81597fdb
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-06-19 15:40:29 +02:00
Stefan Miklosovic 1a87bf5142
Merge branch 'cassandra-4.1' into cassandra-5.0 2026-06-19 15:22:40 +02:00
Stefan Miklosovic 2dbc2f858e
Merge branch 'cassandra-4.0' into cassandra-4.1 2026-06-19 15:15:32 +02:00
Stefan Miklosovic 22bbac9d6a
Fix PasswordObfuscator failing to obfuscate certain passwords
patch by Stefan Miklosovic; reviewed by Dmitry Konstantinov for CASSANDRA-21113
2026-06-19 15:10:04 +02:00
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