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
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
c9d468bf3c
Merge branch 'cassandra-6.0' into trunk
...
* cassandra-6.0:
SEPExecutor.maybeExecuteImmediately does not always execute tasks immediately despite available worker capacity
2026-06-08 23:07:35 +01: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
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
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
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
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
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
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
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
Stefan Miklosovic
68133fe705
Merge branch 'cassandra-6.0' into trunk
2026-05-29 09:54:56 +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
c588b674bf
Merge branch 'cassandra-6.0' into trunk
...
* cassandra-6.0:
Avoid type lookup in SerializationHeader#getType if schema and SSTable are aligned
2026-05-28 15:20:11 +01: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
0a6774d35d
Merge branch 'cassandra-6.0' into trunk
...
* cassandra-6.0:
Replace LongAdder in metric-like logic with ThreadLocalCounter
2026-05-28 14:58:42 +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
Dmitry Konstantinov
fbf1137c80
Merge branch 'cassandra-6.0' into trunk
...
* cassandra-6.0:
BTreeRow.hasLiveData: avoid Cell iteration if there are no cell tombstones
2026-05-26 15:48:24 +01: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
Dmitry Konstantinov
0998495417
Merge branch 'cassandra-6.0' into trunk
...
* cassandra-6.0:
Reduce memory allocations in row merge logic
2026-05-21 22:42:22 +01:00
Dmitry Konstantinov
71e8b7c213
Reduce memory allocations in row merge logic
...
org.apache.cassandra.utils.MergeIterator.Candidate - has Comparator field which is the same for all Candidates under an MergeIterator instance, we can move the field to MergeIterator level. Candidate is 4.8% of all allocations and we can save 20% (~1% of all allocations) of it for JDK 21 with compressed references on.
switch from ArrayList to array in org.apache.cassandra.db.rows.Row.Merger
The ArrayList iterator costs 0.72% and BulkIterator.Adapter costs 0.35%. So, in total we can save here ~1% of total allocations.
patch by Dmitry Konstantinov; reviewed by Francisco Guerrero for CASSANDRA-21359
2026-05-21 22:28:59 +01:00