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
Marcus Eriksson
04064783bf
fix cluster metadata upgrade tests - these only make sense when upgrading from a gossip cluster to a cluster metadata one
...
patch by Marcus Eriksson; reviewed by Francisco Guerrero for CASSANDRA-21326
2026-05-29 11:40:10 +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
David Capwell
d8de51c654
Merge branch 'cassandra-6.0' into trunk
2026-05-27 15:23:20 -07: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
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
The Apache Software Foundation
c84f3d4d51
Set up default protection ruleset for default and release branches
...
patch by The Apache Software Foundation; reviewed by Stefan Miklosovic, Michael Semb Wever for CASSANDRA-21404
Co-authored-by: mck <mck@apache.org>
2026-05-25 11:11:43 +02: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
Stefan Miklosovic
a656b7b556
Merge branch 'cassandra-6.0' into trunk
2026-05-21 22:04:44 +02:00
Stefan Miklosovic
b3bc7c019f
Add get/setDataDiskUsageKeyspaceWideProtectionEnabled to GuardrailsConfig
...
This was forgotten in the original patch.
patch by Stefan Miklosovic; reviewed by Paulo Motta for CASSANDRA-21024
2026-05-21 22:03:41 +02:00
Dmitry Konstantinov
e686ab81ca
Merge branch 'cassandra-6.0' into trunk
...
* cassandra-6.0:
Reduce time to execute microbench-test
2026-05-21 20:52:31 +01:00
Dmitry Konstantinov
1f078c0daf
Reduce time to execute microbench-test
...
Set 1 thread and 1 second for the measurement iteration (note: it is a smoke test only, we do not analyze results from such short measurements)
Exclude some options for heavy benchmarks by default
Shutdown all threads once JMH test is completed to avoid awaiting of a forked JVM till timeout at the end
patch by Dmitry Konstantinov; reviewed by Michael Semb Wever for CASSANDRA-21388
2026-05-21 20:27:42 +01:00
Francisco Guerrero
f77189325b
Avoid using ObjectUtils.getFirstNonNull in Schema
...
Patch by Francisco Guerrero; reviewed by Dmitry Konstantinov for CASSANDRA-21394
2026-05-21 10:36:32 -07:00
Maxim Muzafarov
706b71e360
Merge branch 'cassandra-6.0' into trunk
...
* cassandra-6.0:
Bump checkstyle version up to 10.26.1
2026-05-21 16:48:47 +02:00
Maxim Muzafarov
d1b76b6e9a
Merge branch 'cassandra-5.0' into cassandra-6.0
...
* cassandra-5.0:
Bump checkstyle version up to 10.26.1
2026-05-21 16:47:09 +02:00
Dmitry Konstantinov
2ebc3be787
Merge branch 'cassandra-6.0' into trunk
...
* cassandra-6.0:
Increase Xmx to 2Gb for Ant executed by check-code.sh to avoid OOM
2026-05-21 15:33:37 +01:00
Dmitry Konstantinov
48aebdac48
Increase Xmx to 2Gb for Ant executed by check-code.sh to avoid OOM
...
patch by Dmitry Konstantinov; reviewed by Michael Semb Wever for CASSANDRA-21391
2026-05-21 15:32:11 +01:00
Maxim Muzafarov
16c0d1233e
Bump checkstyle version up to 10.26.1
...
patch by Maxim Muzafarov; reviewd by Dmitry Konstantinov for CASSANDRA-21395
2026-05-21 16:09:59 +02:00
Dmitry Konstantinov
6525296e67
Merge branch 'cassandra-6.0' into trunk
...
* cassandra-6.0:
Print class histogram in case of ant failure in check-code.sh
2026-05-21 11:20:24 +01:00
Dmitry Konstantinov
9267874656
Print class histogram in case of ant failure in check-code.sh
...
patch by Dmitry Konstantinov; reviewed by Stefan Miklosovic,Maxim Muzafarov for CASSANDRA-21391
2026-05-21 11:18:29 +01:00
Sam Tunnicliffe
43a1f51d45
Merge branch 'cassandra-6.0' into trunk
2026-05-20 16:29:24 +01:00
Matt Byrd
7927ac4395
Bring back the ability to Optionally avoid hint transfer during decommission (CASSANDRA-17808)
...
lost due to merge of ae0842372f
patch by Matt Byrd; reviewed by Stefan Miklosovic and Sam Tunnicliffe for CASSANDRA-21341
2026-05-20 16:20:53 +01:00
Benedict Elliott Smith
e28b9bd1f7
Merge branch 'cassandra-6.0' into trunk
2026-05-18 17:59:39 +01:00
Benedict Elliott Smith
eabcce910a
Accord: Slice PreLoadContext to owned keys in MapReduceCommandStores
2026-05-18 17:57:25 +01:00
Benedict Elliott Smith
8ac59e05a7
Accord: CoordinateTransaction should not abort if LocalExecute fails
2026-05-18 17:54:48 +01:00
Sam Tunnicliffe
254a3482ad
Merge branch 'cassandra-6.0' into trunk
2026-05-18 14:33:18 +01:00
Sam Tunnicliffe
6e46e39df8
ninja: replace addtocmstool with cmsofflinetool in rpm/deb packages
...
Follow up to CASSANDRA-19151
2026-05-18 14:04:33 +01:00
Benedict Elliott Smith
5eba832793
Merge branch 'cassandra-6.0' into trunk
2026-05-18 13:25:59 +01:00
Benedict Elliott Smith
7623a59b31
Accord: Deterministic time integration
...
- now() functions must be deterministic (and derived from Accord timestamp)
- tombstone GC and TTL evaluation must be deterministic and based on both Accord timestamp and Accord GC mechanisms (that guarantee completeness of execution)
patch by Benedict; reviewed by Alex Petrov and Ariel Weisberg for CASSANDRA-21376
2026-05-18 13:19:25 +01:00
Benedict Elliott Smith
dc7935be80
Merge branch 'cassandra-6.0' into trunk
2026-05-16 21:15:27 +01:00
Benedict Elliott Smith
a0dc6f857b
Introduce AccordExecutorSignalLoop that aims to reduce lock contention:
...
- consumer and producer threads wait signal without acquiring the lock first
- lock owners may prepare more work than they need, moving some dynamically-adjusted portion of the work from the prioritised lock-managed structures onto a non-blocking queue, so that other threads may consume work from there; the portion is continually micro-adjusted to target some available work whenever the lock is acquired.
- adopts/supports some features of the SEPExecutor:
- threads may auto-adjust the number of running threads based on how much time is collectively spent waiting, to minimise time spent signalling
- consumers may (timed-sleep) poll rather than await a signal, reducing the number of kernel interactions needed; relying on the auto-adjustment to bound the time the scheduler spends waking threads with no work to do
Also Fix:
- Client Result should not be persisted or included in Command object at any time
patch by Benedict; reviewed by Alex Petrov and Ariel Weisberg for CASSANDRA-21375
2026-05-16 21:12:49 +01:00
Sam Tunnicliffe
206485e820
Merge branch 'cassandra-6.0' into trunk
2026-05-15 14:49:01 +01:00