Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
429 commits
Select commit Hold shift + click to select a range
058640b
CEP-15 (C*) increase message timeouts for range barrier messages
bdeggleston Aug 26, 2024
0f51ee4
CEP-15: C* - Early repair failures hang nodetool
bdeggleston Aug 13, 2024
f87c22c
Rebase fixup: SerializationsTest needed to recreate the service.SyncC…
dcapwell Sep 17, 2024
6265ce5
Ninja fix: RandomSource.asJdkRandom did not provide a seed. This sho…
dcapwell Sep 17, 2024
8f7532b
Rebase fixup: Accord should follow the pattern and use requestTime.co…
dcapwell Sep 18, 2024
dd1230f
CEP-15 (C*): Read accord repair cfk keys from sstable index.
bdeggleston Sep 20, 2024
fbfb633
CEP-15 (C*) - misc accord perf improvements
bdeggleston Sep 9, 2024
1ed5203
This commits contains the following two patches in order to reduce th…
dcapwell Jun 18, 2024
3ef74f5
Change MaxConflicts to use a BTree under the hood
iamaleksey Sep 28, 2024
1c7c311
ninja: handle serialization of truncated accept responses
bdeggleston Sep 28, 2024
1c26934
Implement Journal replay on startup:
ifesdjeen Sep 12, 2024
562894d
improve AccordLoadTest to support more keys
belliottsmith Sep 30, 2024
d0a3586
Add purging to Accord Journal table
ifesdjeen Sep 30, 2024
d034661
Support Restart node in Accord
dcapwell Sep 30, 2024
282bacb
ninja: fix CFK serializer
belliottsmith Sep 30, 2024
5693d0e
ninja: Fix AcceptSerializer
aweisberg Oct 1, 2024
8f7b1c2
Follow-up to CASSANDRA-19967 and CASSANDRA-19869
ifesdjeen Oct 1, 2024
0e1819b
Accord: Share DurableBefore between CommandStores
belliottsmith Oct 3, 2024
ab6ef97
ninja: increase durability scheduling delays
belliottsmith Oct 3, 2024
d8ccc36
visit journal backwards to save time parsing
belliottsmith Oct 4, 2024
cc32172
Fix condition on where we shut down accord; move scheduled executor s…
ifesdjeen Oct 4, 2024
82ae3ad
ExclusiveSyncPoints should always wait for a simple quorum
belliottsmith Oct 5, 2024
aa6ebc1
Halve cache memory consumption by not retaining 'original' to diff; d…
belliottsmith Oct 10, 2024
25b1bd7
Enable and test purging
belliottsmith Oct 10, 2024
b8f3b74
Journal diff serialization: validateFlags and WaitingOn size
belliottsmith Oct 10, 2024
1734011
Fix truncatedApply deserialization
belliottsmith Oct 10, 2024
0769af2
Ninja: fast path now updates after 60s rather than 5s. Added toStrin…
dcapwell Oct 11, 2024
c4e0f3c
Follow-up to: Do not contact faulty replicas, and support reporting s…
belliottsmith Oct 11, 2024
9b6467d
Ninja: fast path now updates after 3600s rather than 60s.
belliottsmith Oct 11, 2024
aeaa07b
increase timeout for CalculateDepsReq
belliottsmith Oct 11, 2024
570d652
disable TableId interning
belliottsmith Oct 11, 2024
91def31
do not schedule additional durability attempts while some in flight; …
belliottsmith Oct 11, 2024
22df42c
Store historical transactions per epoch
belliottsmith Oct 11, 2024
042a6e9
Add bounce to load test
ifesdjeen Oct 5, 2024
a51bed1
Accord should not block partition restricted index queries
aweisberg Sep 24, 2024
d1af562
Shut down scheduler with "now"
ifesdjeen Oct 21, 2024
5afe99b
Accord metrics are isolated which cause existing coordination metrics…
dcapwell Oct 22, 2024
1f80f99
Accord should block currently unsafe operations
dcapwell Oct 23, 2024
e94d86b
TopologyMixupTestBase does not fix replication factor for Keyspaces a…
dcapwell Oct 2, 2024
4e9110e
Check for splittable ranges
ifesdjeen Oct 23, 2024
5a12875
Use ExclusiveSyncPoints to join a new topology
belliottsmith Oct 11, 2024
9fe1a97
Get Harry working on top of Accord and fix various issues found by To…
dcapwell Oct 28, 2024
6c0ad47
Miscellaneous migration test fixes
aweisberg Oct 24, 2024
513509e
Accord's ConfigService lock is held over large areas which cause dead…
dcapwell Oct 17, 2024
b29eac1
Split accord migration into two phases
aweisberg Jul 17, 2024
bcf1abb
Implement missing virtual tables for Accord debugging
iamaleksey Oct 24, 2024
16b5e19
Non-serial reads and range reads without live migration support
aweisberg Jul 23, 2024
304749e
Set Accord debug tables partitioner to LocalPartitioner
iamaleksey Nov 18, 2024
03cd31f
Fix AbstractKeys.without (and CoordinateEphemeralRead execution in f…
belliottsmith Nov 12, 2024
f2ea674
Key transaction recovery should witness range transactions
belliottsmith Nov 11, 2024
ec7c7c9
Accord: Fix unit tests and improve burn test stability
belliottsmith Nov 19, 2024
bad9805
Make it easier to reuse generators, make Harry more extensible and ac…
ifesdjeen Nov 8, 2024
4c0f919
Fix restartWithEpochChanges test; make CMS nodes first gossip with CM…
ifesdjeen Nov 29, 2024
74817bc
Semi integrate burn test:
ifesdjeen Nov 15, 2024
a5dc44a
Fix infinite loop, and notify progress log of sync point durability w…
belliottsmith Dec 2, 2024
c114fc4
Accord simulation test failing with "ClassNotFoundException: WARN [A…
dcapwell Dec 4, 2024
211249b
Implement field saving/loading in AccordJournal
ifesdjeen Nov 26, 2024
21383d2
Fix Accord SAI tests and Accord double apply
aweisberg Nov 14, 2024
44cd181
Fixes
belliottsmith Dec 15, 2024
52242f2
Remove TimestampsForKey
belliottsmith Nov 28, 2024
b664d3e
Migrate in memory journal to CommandChange logic shared with AccordJo…
ifesdjeen Nov 26, 2024
17dbba7
Refactor the ast package to enable harry model based testing
dcapwell Jan 13, 2025
dfcf3af
Fix topology replay during bootstrap and startup, decouple Accord fro…
ifesdjeen Dec 5, 2024
ed2ca6e
FetchRequest should report as unavailable any slice that executes in …
belliottsmith Jan 5, 2025
5bfd944
Fix problem with iteration order in AccordJournal
ifesdjeen Jan 15, 2025
21f9f24
Fix serialization order for topology updates
ifesdjeen Jan 15, 2025
72f3828
Fix CoordinatorReadLatencyMetricTest
ifesdjeen Jan 16, 2025
1362528
Fix ForceSnapshotTest
ifesdjeen Jan 17, 2025
3e16efa
Protocol optimisations:
belliottsmith Jan 8, 2025
3c7cb1e
Migrate route index from commands table to journal, and drop the comm…
dcapwell Dec 10, 2024
b8a3706
Remove Journal record ownership tags functionality
iamaleksey Jan 15, 2025
70382b1
Fix deps serializers
ifesdjeen Jan 21, 2025
b50536f
Fix Simulator Tests
ifesdjeen Jan 20, 2025
f3e61c1
Fix race condition in AccordExecutor#cancelExclusive
ifesdjeen Jan 21, 2025
5be214a
Agree a distributed uniqueHlc to use for Apply
belliottsmith Jan 18, 2025
894536a
Fix "modifiers" missing field exception on JDK17
ifesdjeen Jan 23, 2025
2e850db
Fix testClearSnapshot_RemoveMultiple
ifesdjeen Jan 23, 2025
7f0e5f8
Follow-up to CASSANDRA-20228:
belliottsmith Jan 27, 2025
cf9e34d
Fix empty LatestDepsSerializer
ifesdjeen Jan 28, 2025
6522d52
Live migration for non-serial reads
aweisberg Oct 2, 2024
d88596b
Fix ShortAccordSimulationTest
aweisberg Jan 30, 2025
f55653e
Fix paging with Accord range reads
aweisberg Jan 30, 2025
9da4130
Fix TxnNamedRead discarding paging state
aweisberg Jan 30, 2025
113d834
Follow-up to CASSANDRA-20222:
belliottsmith Jan 30, 2025
d543cc9
To improve accord interoperability test coverage, need to extend the …
dcapwell Feb 1, 2025
c4a5971
Improve topology fetching
ifesdjeen Jan 27, 2025
af7dfcc
Refactor RedundantStatus to encode vector of states that can be merge…
belliottsmith Feb 1, 2025
f345011
When generating AbstractTypeGenerators.safeTypeGen() for tests compos…
dcapwell Feb 3, 2025
4f2e306
Accord: jvm-dtest changed semantics of uncaughtExceptions handling wh…
dcapwell Feb 4, 2025
080d6c6
Avoid double loading in Cassandra side of journal; make sure to inclu…
ifesdjeen Jan 22, 2025
d7ed1ad
Fix:
belliottsmith Feb 5, 2025
b017ae8
Add @Ignore to failing tests while we triage
belliottsmith Feb 5, 2025
341b493
Fixed an issue where table walk and token conflict mutations would us…
dcapwell Feb 6, 2025
5e9e2b2
Accord: TableParamsTest is flakey due to bad generators and productio…
dcapwell Feb 6, 2025
3324e23
Fix topology loading
ifesdjeen Feb 3, 2025
1aaf0bb
Fix null field accounting
ifesdjeen Feb 5, 2025
b81d13f
Expose epoch ready state as a vtable for operators to inspect things
dcapwell Feb 12, 2025
3fb23e0
Fix flakey test org.apache.cassandra.simulator.test.ShortPaxosSimulat…
dcapwell Feb 12, 2025
64c4aa8
(Accord) Fix recovery when one shard is committed/stable and another …
belliottsmith Feb 13, 2025
67e21ec
Fix AccordMigrationTest, preclude possible races in topology propagation
ifesdjeen Feb 7, 2025
1d5146a
Improve stability of tests with many epochs
ifesdjeen Feb 21, 2025
e9a0d8e
Accord: Serialization Improvements
belliottsmith Feb 15, 2025
5086846
Fix:
belliottsmith Feb 19, 2025
a12f0ac
Accord fixes:
belliottsmith Feb 26, 2025
430c55d
Integrate RX with Cassandra Repair, so that repair safely flushes pen…
belliottsmith Feb 3, 2025
fa11572
Add initial Accord Overview Doc
ifesdjeen Mar 4, 2025
ab556ab
InterceptingExecutor.schedule returns a simulator-unsafe Future
belliottsmith Mar 8, 2025
e3982ce
When bootstrap fails the retry field is not populated which leads to …
dcapwell Mar 8, 2025
2999d8f
Epoch/Topology Garbage Collection
ifesdjeen Feb 19, 2025
03053b1
Implement Nemesis compactor, improve partial compaction
ifesdjeen Mar 6, 2025
94f7204
Topology mixup tests should do repairs for host replacement and other…
dcapwell Mar 10, 2025
890be9c
Fix:
belliottsmith Mar 3, 2025
289dbb7
Accord repin: turn pruning back on
ifesdjeen Mar 12, 2025
fb05d22
Fix:
belliottsmith Mar 13, 2025
14b6395
Accord: test fixes and stability improvements
ifesdjeen Mar 11, 2025
7f7ac07
fixing post-rebase checkstyle problems
maedhroz Apr 1, 2025
f519538
Switch to plain Thread for AccordExecutor, and improve testing for AS…
belliottsmith Mar 15, 2025
265511f
Fix CQLSSTableWriterConcurrencyTest
belliottsmith Apr 4, 2025
92212b2
Fix upgrade TTL tests that fail due to improved error detection in ce…
dcapwell Apr 7, 2025
e87d5e5
Various fixes and improvements
belliottsmith Apr 9, 2025
49740f8
Accord: Fix issue where 3 tests would crash consistently in CI
dcapwell Apr 9, 2025
68aea4b
Fix simulator after rebase
ifesdjeen Apr 8, 2025
19048ef
Improve Journal table key serialization
belliottsmith Apr 7, 2025
dc841f5
Fix RouteIndexTest when run with -latest.yaml
dcapwell Apr 11, 2025
6c6082b
Accord: switch back to 1g heap to keep CI stable
dcapwell Apr 14, 2025
71aedb2
Cleanup Accord diff to get it ready for merge
dcapwell Apr 14, 2025
d3439c6
ninja: remove accord_demo.txt and simulator.sh
maedhroz Apr 14, 2025
4cdbb5c
Accord: Test fixes
ifesdjeen Apr 14, 2025
91f29a1
Accord: Hopefully last rebase cleanup
dcapwell Apr 17, 2025
348ffb0
allow grant permission on virtual keyspaces
rtib Feb 19, 2025
60ea852
Merge branch 'cassandra-4.0' into cassandra-4.1
frankgh Apr 18, 2025
b83fef6
Merge branch 'cassandra-4.1' into cassandra-5.0
frankgh Apr 18, 2025
8d16b6b
Merge branch 'cassandra-5.0' into trunk
frankgh Apr 18, 2025
f327b63
Introduce SSTableSimpleScanner for compaction
blambov Nov 19, 2024
17cb892
Fix marking an SSTable as suspected and BufferPool leakage in case of…
netudima Mar 7, 2025
91bc34f
Added tab-ahead support for new built-in functions
Aug 1, 2024
2e602ec
Merge branch 'CASSANDRA-19631e' into trunk
bschoening Apr 21, 2025
95c6fd4
Serialization improvements
belliottsmith Apr 2, 2025
d4d858d
Updating a column with a new TTL but same expiration time is non-dete…
jonmeredith Apr 22, 2025
2ac7016
Merge branch 'cassandra-4.0' into cassandra-4.1
jonmeredith Apr 22, 2025
32cfd47
Merge branch 'cassandra-4.1' into cassandra-5.0
jonmeredith Apr 22, 2025
4805123
Merge branch 'cassandra-5.0' into trunk
jonmeredith Apr 22, 2025
bcea8f5
Refactor EncryptionOptions to use client / server encryption options …
maulin-vasavada Mar 8, 2025
8fcf309
Implement appender of slow queries to system_views.slow_queries table
smiklosovic Apr 9, 2025
6753fb4
Automated Repair Inside Cassandra for CEP-37
jaydeepkumar1984 Apr 23, 2025
c3bae31
Change SSTableSimpleScanner to use SSTableReader#openDataReaderForScan
jrwest Apr 9, 2025
9703749
SAI fails queries when multiple columns exist and a non-indexed colum…
sunil9977 Apr 16, 2025
7160c49
Merge branch 'cassandra-5.0' into trunk
dcapwell Apr 23, 2025
07831c9
SAI marks an index as non-empty when a partial partition/row modifica…
dcapwell Apr 23, 2025
df24dac
Merge branch 'cassandra-5.0' into trunk
dcapwell Apr 24, 2025
ae82efc
Add LittleEndianMemoryUtil and NativeEndianMemoryUtil, switch memtabl…
netudima Mar 20, 2025
a93f081
Merge branch 'cassandra-5.0' into trunk
netudima Apr 24, 2025
fc97fd1
Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17
nizhikov Apr 9, 2025
d08c0d6
Adjust jenkins splits post accord merge
michaelsembwever Apr 25, 2025
4bcae8e
Ensure RowFilter#isMutableIntersection() properly evaluates numeric r…
maedhroz Apr 17, 2025
5b0956b
Merge branch 'cassandra-5.0' into trunk
maedhroz Apr 27, 2025
ec26d53
In ubuntu2004_test automatically find the latest available patch vers…
michaelsembwever Apr 1, 2025
0459108
Merge branch 'cassandra-5.0' into trunk
michaelsembwever Apr 27, 2025
5e003af
Fix token restrictions with MIN_TOKEN
krummas Apr 15, 2025
f734983
Get accord compiling on JDK 21
dcapwell Apr 28, 2025
79c5934
Don't allocate in ThreadLocalReadAheadBuffer#close()
jrwest Apr 13, 2025
84fdf2e
Merge branch 'cassandra-5.0' into trunk
jrwest Apr 28, 2025
58d1cc9
Increasing default for auto_repair.sstable_upper_threshold considerin…
jaydeepkumar1984 Apr 24, 2025
2aeb6a0
CASSANDRA-20609 - CQLSSTableWriter should support setting the format …
JeetKunDoug Apr 29, 2025
3bc266c
Merge branch 'cassandra-5.0' into trunk
JeetKunDoug May 1, 2025
f2dd1ad
Accords gradle build fails due to ephemeral issues with rat and check…
dcapwell May 2, 2025
80224a9
Improved UCS docs with migration advice and example workloads.
rustyrazorblade May 1, 2025
4971b4c
Improved UCS docs with migration advice and example workloads.
rustyrazorblade May 1, 2025
234763f
Remove Accord CQL words from the reserved keywords list
dcapwell May 2, 2025
4f25e58
zero copy streaming allocates direct memory that isn't used, but does…
dcapwell May 2, 2025
e8dc9f1
Merge branch 'cassandra-5.0' into trunk
dcapwell May 2, 2025
0a4777d
zero copy streaming allocates direct memory that isnt used, but does …
dcapwell May 3, 2025
ccc9276
zero copy streaming allocates direct memory that isnt used, but does …
dcapwell May 3, 2025
f2bf017
Fix AutoRepair Flaky InJvm dtest
jaydeepkumar1984 May 5, 2025
f6eb4a6
Fix a bug in AutoRepair duration metric calculation if schedule finis…
jaydeepkumar1984 May 6, 2025
0669db7
Write user docs for CEP-24 - Password validation / generation
smiklosovic May 5, 2025
6a81306
Reading mmapped trie-index exceeding 2GiB results in exception
szymon-miezal Apr 24, 2025
765bfb9
Merge branch 'cassandra-5.0' into trunk
driftx May 6, 2025
12c5495
Reading mmapped trie-index exceeding 2GiB results in exception
szymon-miezal Apr 24, 2025
c24fbd8
Rewrite constraint framework to remove column specification from cons…
smiklosovic Mar 21, 2025
b9395ac
Fix AccordMigrationTest not marking nodes down correctly
aweisberg May 5, 2025
f91655d
When a custom disk error handler fails to initiate, fail the startup …
smiklosovic May 4, 2025
7a8335c
Optimize initial skipping logic for SAI queries on large partitions
sunil9977 May 8, 2025
ab1ce59
Merge branch 'cassandra-5.0' into trunk
maedhroz May 8, 2025
43746c1
Use MAX_PARALLEL_TRANSFERS instead of default
driftx Apr 25, 2025
aa8daa4
Merge branch 'cassandra-4.0' into cassandra-4.1
driftx May 9, 2025
b448496
Use MAX_PARALLEL_TRANSFERS instead of default
driftx Apr 25, 2025
9e1b09f
Merge branch 'cassandra-4.1' into cassandra-5.0
driftx May 9, 2025
a39f3b0
Merge branch 'cassandra-5.0' into trunk
driftx May 9, 2025
f2e3a0a
Handle sstable metadata stats file getting a new mtime after compacti…
jmckenzie-dev Dec 13, 2022
d4fb513
Merge branch 'cassandra-4.0' into cassandra-4.1
krummas May 12, 2025
29746cf
Merge branch 'cassandra-4.1' into cassandra-5.0
krummas May 12, 2025
629b025
Merge branch 'cassandra-5.0' into trunk
krummas May 12, 2025
0894665
Ninja: remove .orig file from repository
ifesdjeen May 13, 2025
82fc35b
Prepare debian changelog for 4.1.9
driftx May 15, 2025
6cfea18
Avoid duplicate hardlink error upon forceful taking of ephemeral snap…
smiklosovic Mar 27, 2025
96b3db9
Relax validation of snapshot name as a part of SSTable files path val…
netudima May 15, 2025
95716f6
Merge branch 'cassandra-5.0' into trunk
netudima May 16, 2025
3bfd82c
Merge branch 'cassandra-4.1' into cassandra-5.0
driftx May 16, 2025
63d3538
Merge branch 'cassandra-5.0' into trunk
driftx May 16, 2025
7ab1e38
Stop AutoRepair monitoring thread upon Cassandra shutdown
jaydeepkumar1984 May 16, 2025
f80a234
Migrate sstableloader code to its own tools directory and artifact
tolbertam May 13, 2025
b7619b4
Add documentation for Accord ops and CQL developer guide
aweisberg May 8, 2025
56b7e90
bump build.xml version
driftx May 19, 2025
aeda953
Merge branch 'cassandra-4.1' into cassandra-5.0
driftx May 19, 2025
65b9011
Merge branch 'cassandra-5.0' into trunk
driftx May 19, 2025
063e1fe
Introduce NativeAccessor to avoid new ByteBuffer allocation on flush …
netudima Apr 24, 2025
fd3f824
Fix cassandra-cqlsh-tests.sh on python <= 3.8
michaelsembwever May 21, 2025
07e656f
Merge branch 'cassandra-4.0' into cassandra-4.1
michaelsembwever May 21, 2025
e3e405e
Merge branch 'cassandra-4.1' into cassandra-5.0
michaelsembwever May 21, 2025
58860a9
Merge branch 'cassandra-5.0' into trunk
michaelsembwever May 21, 2025
422b8a6
Prepare debian changelog for 4.0.18
driftx May 22, 2025
cf528bc
Merge branch 'cassandra-4.0' into cassandra-4.1
driftx May 22, 2025
85a659a
Merge branch 'cassandra-4.1' into cassandra-5.0
driftx May 22, 2025
fefb0b2
Merge branch 'cassandra-5.0' into trunk
driftx May 22, 2025
c736d22
Gossip doesn't converge due to race condition when updating EndpointS…
dcapwell May 21, 2025
005d3c2
Merge branch 'cassandra-4.0' into cassandra-4.1
dcapwell May 22, 2025
ac05c94
Merge branch 'cassandra-4.1' into cassandra-5.0
dcapwell May 22, 2025
a739e79
Merge branch 'cassandra-5.0' into trunk
dcapwell May 22, 2025
66b9733
Accord: Retry epoch/topology metadata fetch on all peer nodes
ifesdjeen May 20, 2025
7bbeee3
Make metadata components forgiving during startup
ifesdjeen May 20, 2025
49c8122
Avoid CQLSH throwing an exception loading .cqlshrc on non-supported p…
bschoening Apr 9, 2025
4154632
Merge branch 'cassandra-5.0' into trunk
smiklosovic May 23, 2025
1066f6a
Remove auto-installation of golang when generating native protocol do…
michaelsembwever May 25, 2025
fdc1006
Merge branch 'cassandra-5.0' into trunk
michaelsembwever May 26, 2025
dd0d8c0
Avoid lambda usage in TrieMemoryIndex range queries and ensure queue …
maedhroz May 21, 2025
9c489b8
Merge branch 'cassandra-5.0' into trunk
maedhroz May 27, 2025
823f486
Unified Compaction does not properly validate min and target sizes
pranavshenoy May 27, 2025
cfb3933
Merge branch 'cassandra-5.0' into trunk
dcapwell May 27, 2025
d077f69
Ensure prepared_statement INSERT timestamp precedes eviction DELETE
tolbertam May 13, 2025
9c308ce
Merge branch 'cassandra-4.0' into cassandra-4.1
tolbertam May 28, 2025
e90fece
Merge branch 'cassandra-4.1' into cassandra-5.0
tolbertam May 28, 2025
34650af
Merge branch 'cassandra-5.0' into trunk
tolbertam May 28, 2025
e5c1016
Ensure replica filtering protection does not trigger unnecessary shor…
maedhroz May 9, 2025
fe13726
Merge branch 'cassandra-5.0' into trunk
maedhroz May 28, 2025
00f2b3e
increment version
driftx May 28, 2025
eb4e795
Merge branch 'cassandra-4.0' into cassandra-4.1
driftx May 28, 2025
f1457e8
Merge branch 'cassandra-4.1' into cassandra-5.0
driftx May 28, 2025
64c7031
Merge branch 'cassandra-5.0' into trunk
driftx May 28, 2025
53cdefb
Enabling single sstable uplevel by default
nvharikrishna May 9, 2023
8d89e16
Ninja fix CHANGES.txt
beobal May 29, 2025
b3f035b
Accord Fixes:
belliottsmith Apr 11, 2025
3f03dc7
ninja: remove unused imports in AccordJournalBurnTest to pass ant che…
smiklosovic May 29, 2025
88ca4f8
Backport CASSANDRA-20469 (Paxos repair interrupts running transaction…
aweisberg May 29, 2025
948e6c9
Merge branch 'cassandra-4.1' into cassandra-5.0
aweisberg May 29, 2025
d110b16
Merge branch 'cassandra-5.0' into trunk
aweisberg May 29, 2025
5450a1f
Support for add and replace in IntervalTree
aweisberg Mar 18, 2025
3969de6
Mark JDK 17 as production ready
netudima May 29, 2025
3a506eb
Merge branch 'cassandra-5.0' into trunk
smiklosovic Jun 2, 2025
a2199e1
Add additional metrics around hints
maoling Mar 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .build/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ Running other types of tests with docker:
.build/docker/run-tests.sh -a test
.build/docker/run-tests.sh -a stress-test
.build/docker/run-tests.sh -a fqltool-test
.build/docker/run-tests.sh -a sstableloader-test
.build/docker/run-tests.sh -a microbench
.build/docker/run-tests.sh -a test-cdc
.build/docker/run-tests.sh -a test-compression
Expand Down
51 changes: 51 additions & 0 deletions .build/build-accord.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project basedir=".." name="apache-cassandra-accord-build"
xmlns:if="ant:if">
<target name="_build-accord" depends="init">
<exec executable="${basedir}/${accord.dir}/gradlew" dir="${basedir}/${accord.dir}" logError="true" failonerror="true" failifexecutionfails="true">
<!-- Need to call clean as a version change with a jar that didn't have code changes will not produce a new jar with the new version... so need clean to make sure build is stable -->
<arg value="clean" />
<arg value="build" />
<arg value="copyDependencies" /> <!-- For IDE support -->
<arg value="publishToMavenLocal" />
<arg value="-x" />
<arg value="test" />
<!-- Disable rat/checkstyle as C*'s logic will include the accord source -->
<arg value="-x" />
<arg value="rat" />
<arg value="-x" />
<arg value="checkstyleMain" />
<arg value="-x" />
<arg value="checkstyleTest" />
<arg value="-x" />
<arg value="javadoc" />
<arg value="--stacktrace" />
<arg value="-Paccord_group=org.apache.cassandra" />
<arg value="-Paccord_artifactId=cassandra-accord" />
<arg value="-Paccord_version=${version}" />
</exec>
<!-- when dependencies are copied into the build dir they may be ignored if already present, so cleanup to pick up latest changes -->
<delete>
<!-- Why does this not use ${build.dir.lib}/jar and ${test.lib}/jar? The reason is that filesets never finds files in that case -->
<!-- To handle the case that build or lib dirs do not exist yet, had to push the logic into includes, other solution was to create a task and use if conditions there -->
<fileset dir="${basedir}" includes="build/lib/jars/cassandra-accord-*.jar,build/test/lib/jars/cassandra-accord-*.jar" />
</delete>
</target>
</project>
4 changes: 2 additions & 2 deletions .build/build-checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<project basedir="." name="apache-cassandra-checkstyle"
xmlns:rat="antlib:org.apache.rat.anttasks">

<target name="init-checkstyle" depends="resolver-retrieve-build,build-project" unless="no-checkstyle">
<target name="init-checkstyle" depends="resolver-retrieve-build,_build_subprojects,build-project" unless="no-checkstyle">
<path id="checkstyle.lib.path">
<fileset dir="${test.lib}/jars" includes="*.jar"/>
</path>
Expand All @@ -45,7 +45,7 @@
</checkstyle>
</target>

<target name="checkstyle-test" depends="init-checkstyle,resolver-retrieve-build,build-project" description="Run custom checkstyle code analysis on tests" unless="no-checkstyle">
<target name="checkstyle-test" depends="init-checkstyle,resolver-retrieve-build,_build_subprojects,build-project" description="Run custom checkstyle code analysis on tests" unless="no-checkstyle">
<property name="checkstyle.log.dir" value="${build.dir}/checkstyle" />
<property name="checkstyle_test.report.file" value="${checkstyle.log.dir}/checkstyle_report_test.xml"/>
<mkdir dir="${checkstyle.log.dir}" />
Expand Down
6 changes: 3 additions & 3 deletions .build/build-owasp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<project basedir="." name="apache-cassandra-owasp-tasks"
xmlns:unless="ant:unless"
xmlns:if="ant:if">
<property name="dependency-check.version" value="10.0.4"/>
<property name="dependency-check.version" value="12.1.0"/>
<property name="dependency-check.home" value="${tmp.dir}/dependency-check-ant-${dependency-check.version}"/>
<property name="dependency-check.archive.dir" value="${local.repository}/org/owasp/dependency-check-ant/${dependency-check.version}"/>
<property name="dependency-check.archive.name" value="dependency-check-ant-${dependency-check.version}-release.zip"/>
Expand All @@ -34,7 +34,7 @@
unless="dependency-check-ant.archive.present">

<mkdir dir="${dependency-check.archive.dir}"/>
<get src="https://github.com/jeremylong/DependencyCheck/releases/download/v${dependency-check.version}/${dependency-check.archive.name}"
<get src="https://github.com/dependency-check/DependencyCheck/releases/download/v${dependency-check.version}/${dependency-check.archive.name}"
dest="${dependency-check.archive.dir}/${dependency-check.archive.name}" retries="3"/>
</target>

Expand Down Expand Up @@ -105,7 +105,7 @@
</dependency-check>
</target>

<target name="dependency-check" depends="resolver-dist-lib">
<target name="dependency-check" depends="resolver-dist-lib,generate-snyk-file">
<fileset dir="lib" id="dependencies_to_check">
<include name="**/*.jar"/>
</fileset>
Expand Down
2 changes: 2 additions & 0 deletions .build/build-rat.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
<exec executable="git" failifexecutionfails="false" failonerror="false" resultproperty="git.success" output="${build.dir}/.ratinclude">
<arg line="ls-tree -r HEAD --name-only"/>
</exec>
<exec executable="${build.helpers.dir}/rat-include-accord.sh" failifexecutionfails="false" failonerror="false" resultproperty="git.success" output="${build.dir}/.ratinclude" append="true" />
<condition property="rat.skip" value="true">
<not>
<equals arg1="${git.success}" arg2="0"/>
Expand Down Expand Up @@ -78,6 +79,7 @@
<exclude NAME="CHANGES.txt"/>
<exclude NAME="CASSANDRA-14092.txt"/>
<exclude NAME="debian/TODO"/>
<exclude NAME="accord_demo.txt"/>
<!-- legal files -->
<exclude NAME="NOTICE.txt"/>
<exclude NAME="LICENSE.txt"/>
Expand Down
8 changes: 4 additions & 4 deletions .build/build-resolver.xml
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@
<property name="resolver-ant-tasks.initialized" value="true"/>
</target>

<target name="resolver-retrieve-build" depends="resolver-init,write-poms">
<target name="resolver-retrieve-build" depends="resolver-init,write-poms,_build_subprojects">
<resolvepom file="${build.dir}/${final.name}.pom" id="all-pom" />
<resolvepom file="${build.dir}/tmp-${final.name}-deps.pom" id="pom-deps" />

Expand Down Expand Up @@ -206,7 +206,7 @@
</unzip>
</target>

<target name="resolver-dist-lib" depends="resolver-retrieve-build">
<target name="resolver-dist-lib" depends="resolver-retrieve-build,_build_subprojects">
<resolvepom file="${build.dir}/${final.name}.pom" id="all-pom" />

<retry retrycount="3" retrydelay="10" >
Expand Down Expand Up @@ -251,8 +251,8 @@
<delete file="${build.lib}/AmazonCorrettoCryptoProvider-2.2.0-linux-x86_64.jar" failonerror="false"/>
<delete file="${build.lib}/AmazonCorrettoCryptoProvider-2.2.0-linux-aarch_64.jar" failonerror="false"/>

<delete file="${build.lib}/netty-tcnative-boringssl-static-2.0.61.Final-windows-x86_64.jar" failonerror="false"/>
<delete file="${build.dir.lib}/jars/netty-tcnative-boringssl-static-2.0.61.Final-windows-x86_64.jar" failonerror="false"/>
<delete file="${build.lib}/netty-tcnative-boringssl-static-2.0.70.Final-windows-x86_64.jar" failonerror="false"/>
<delete file="${build.dir.lib}/jars/netty-tcnative-boringssl-static-2.0.70.Final-windows-x86_64.jar" failonerror="false"/>
</target>

<target name="_resolver-dist-lib_get_files">
Expand Down
4 changes: 2 additions & 2 deletions .build/build-sonar.xml
Original file line number Diff line number Diff line change
Expand Up @@ -226,9 +226,9 @@
<arg value="-Dsonar.working.directory=${sonar.workdir}/scanner"/>
<arg value="-Dsonar.sourceEncoding=UTF-8"/>
<arg value="-Dsonar.scm.disabled=true"/>
<arg value="-Dsonar.sources=${build.src.java},${fqltool.build.src},${stress.build.src}"/>
<arg value="-Dsonar.sources=${build.src.java},${fqltool.build.src},${sstableloader.build.src},${stress.build.src}"/>
<arg value="-Dsonar.java.libraries=${build.dir.lib}/jars/jsr305-*.jar"/>
<arg value="-Dsonar.java.binaries=${build.classes.main},${fqltool.build.classes},${stress.build.classes}"/>
<arg value="-Dsonar.java.binaries=${build.classes.main},${fqltool.build.classes},${sstableloader.build.classes},${stress.build.classes}"/>
<arg value="-Dsonar.java.source=11"/>
<arg value="-Dsonar.projectVersion=${timestamp}"/>
<arg value="-Dsonar.qualitygate.wait=true"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,5 +155,10 @@
<groupId>org.bouncycastle</groupId>
<artifactId>bcutil-jdk18on</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-accord</artifactId>
<classifier>tests</classifier>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,10 @@
<groupId>org.mindrot</groupId>
<artifactId>jbcrypt</artifactId>
</dependency>
<dependency>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-accord</artifactId>
</dependency>
<dependency>
<groupId>io.airlift</groupId>
<artifactId>airline</artifactId>
Expand Down Expand Up @@ -145,7 +149,7 @@
<artifactId>logback-classic</artifactId>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<groupId>org.apache.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<classifier>shaded</classifier>
</dependency>
Expand Down
1 change: 0 additions & 1 deletion .build/checkstyle_suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,4 @@
"https://checkstyle.org/dtds/suppressions_1_1.dtd">

<suppressions>
<suppress checks="RegexpSinglelineJava" files="Semaphore\.java"/>
</suppressions>
21 changes: 20 additions & 1 deletion .build/docker/bullseye-build.docker
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
# limitations under the License.

FROM debian:bullseye
MAINTAINER Apache Cassandra <[email protected]>
LABEL org.opencontainers.image.authors="Apache Cassandra <[email protected]>"

# CONTEXT is expected to be cassandra/.build

Expand Down Expand Up @@ -52,3 +52,22 @@ RUN pip install --upgrade pip

# dependencies for .build/ci/ci_parser.py
RUN pip install beautifulsoup4==4.12.3 jinja2==3.1.3

# install golang. GO_VERSION_SHA must be updated with VERSION
RUN sh -c '\
GO_VERSION="1.24.3" ;\
GO_VERSION_SHAS="3333f6ea53afa971e9078895eaa4ac7204a8c6b5c68c10e6bc9a33e8e391bdd8 a463cb59382bd7ae7d8f4c68846e73c4d589f223c589ac76871b66811ded7836 13e6fe3fcf65689d77d40e633de1e31c6febbdbcb846eb05fc2434ed2213e92b 64a3fa22142f627e78fac3018ce3d4aeace68b743eff0afda8aae0411df5e4fb" ;\
GO_OS=linux ;\
[ $(uname) = "Darwin" ] && GO_OS=darwin ;\
GO_PLATFORM=amd64 ;\
[ $(uname -m) = "aarch64" ] && GO_PLATFORM=arm64 ;\
GO_TAR="go${GO_VERSION}.${GO_OS}-${GO_PLATFORM}.tar.gz" ;\
curl -L --fail --silent --retry 2 --retry-delay 5 --max-time 30 https://go.dev/dl/$GO_TAR -o $GO_TAR ;\
GO_SHA="$(sha256sum $GO_TAR | cut -d" " -f2)" ;\
echo "$GO_VERSION_SHAS" | sed "s/ /\n/g" | grep -q "$GO_SHA" || { echo "SHA256 mismatch for $GO_TAR $GO_SHA"; exit 1; } ;\
tar -C /usr/local -xzf $GO_TAR ;\
rm $GO_TAR'

ENV GOROOT="/usr/local/go"
ENV GOPATH="$BUILD_HOME/go"
ENV PATH="$PATH:/usr/local/go/bin"
4 changes: 2 additions & 2 deletions .build/docker/run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ error() {

# legacy argument handling
case ${1} in
"build_dtest_jars" | "stress-test" | "fqltool-test" | "microbench" | "test-burn" | "long-test" | "cqlsh-test" | "simulator-dtest" | "dtest" | "dtest-novnode" | "dtest-latest" | "dtest-large" | "dtest-large-novnode" | "dtest-upgrade" | "dtest-upgrade-novnode"| "dtest-upgrade-large" | "dtest-upgrade-novnode-large" | "test" | "test-cdc" | "test-compression" | "test-oa" | "test-system-keyspace-directory" | "test-latest" | "jvm-dtest" | "jvm-dtest-upgrade" | "jvm-dtest-novnode" | "jvm-dtest-upgrade-novnode")
"build_dtest_jars" | "stress-test" | "fqltool-test" | "sstableloader-test" | "microbench" | "test-burn" | "long-test" | "cqlsh-test" | "simulator-dtest" | "dtest" | "dtest-novnode" | "dtest-latest" | "dtest-large" | "dtest-large-novnode" | "dtest-upgrade" | "dtest-upgrade-novnode"| "dtest-upgrade-large" | "dtest-upgrade-novnode-large" | "test" | "test-cdc" | "test-compression" | "test-oa" | "test-system-keyspace-directory" | "test-latest" | "jvm-dtest" | "jvm-dtest-upgrade" | "jvm-dtest-novnode" | "jvm-dtest-upgrade-novnode")
test_type="-a ${1}"
if [[ -z ${2} ]]; then
test_list=""
Expand Down Expand Up @@ -182,7 +182,7 @@ docker_flags="-m 5g --memory-swap 5g"
case ${test_target/-repeat/} in
"build_dtest_jars")
;;
"stress-test" | "fqltool-test" )
"stress-test" | "fqltool-test" | "sstableloader-test" )
[[ ${mem} -gt $((1 * 1024 * 1024 * 1024 * ${jenkins_executors})) ]] || { error 1 "${target} require minimum docker memory 1g (per jenkins executor (${jenkins_executors})), found ${mem}"; }
;;
# test-burn doesn't have enough tests in it to split beyond 8, and burn and long we want a bit more resources anyway
Expand Down
15 changes: 8 additions & 7 deletions .build/docker/ubuntu2004_test.docker
Original file line number Diff line number Diff line change
Expand Up @@ -124,22 +124,23 @@ RUN /bin/bash -c "source ${BUILD_HOME}/env3.8/bin/activate && \
ccm create -n 1 -v git:cassandra-4.1 test && ccm remove test && \
ccm create -n 1 -v git:cassandra-4.0 test && ccm remove test"

# Initialize ccm versions. right side of each sequence needs to be updated with new releases.
# this can be checked with:
# `curl -s https://downloads.apache.org/cassandra/ | grep -oP '(?<=href=\")[0-9]+\.[0-9]+\.[0-9]+(?=)' | sort -rV | uniq -w 3`
# Initialize ccm versions. branch heads and all versions iterating through to the latest version found on downloads.apache.org/cassandra
RUN bash -c 'source ${BUILD_HOME}/env3.8/bin/activate && \
for i in {1..14} ; do echo $i ; ccm create --quiet -n 1 -v binary:4.0.$i test && ccm remove test ; done && \
for i in {1..7} ; do echo $i ; ccm create --quiet -n 1 -v binary:4.1.$i test && ccm remove test ; done'
latest_4_0=$(curl -s https://downloads.apache.org/cassandra/ | grep -oP "(?<=href=\")4\.0\.[0-9]+(?=\")" | sort -V | tail -1 | cut -d"." -f3) && \
for i in $(seq 1 $latest_4_0); do echo $i ; ccm create --quiet -n 1 -v binary:4.0.$i test && ccm remove test ; done && \
latest_4_1=$(curl -s https://downloads.apache.org/cassandra/ | grep -oP "(?<=href=\")4\.1\.[0-9]+(?=\")" | sort -V | tail -1 | cut -d"." -f3) && \
for i in $(seq 1 $latest_4_1); do echo $i ; ccm create --quiet -n 1 -v binary:4.1.$i test && ccm remove test ; done'

# 5+ requires java11
RUN sudo update-java-alternatives --set java-1.11.0-openjdk-$(dpkg --print-architecture)

# Initialize the CCM git repo, after removing the git cache, as this also can fail to clone
# Initialize ccm versions. branch heads and all versions iterating through to the latest version found on downloads.apache.org/cassandra
RUN rm -fr ${BUILD_HOME}/.ccm/repository/_git_cache_apache
RUN /bin/bash -c 'source ${BUILD_HOME}/env3.8/bin/activate && \
ccm create --quiet -n 1 -v git:cassandra-5.0 test && ccm remove test && \
ccm create --quiet -n 1 -v git:trunk test && ccm remove test && \
for i in {1..2} ; do echo $i ; ccm create --quiet -n 1 -v binary:5.0.$i test && ccm remove test ; done'
latest_5_0=$(curl -s https://downloads.apache.org/cassandra/ | grep -oP "(?<=href=\")5\.0\.[0-9]+(?=\")" | sort -V | tail -1 | cut -d"." -f3) && \
for i in $(seq 1 $latest_5_0); do echo $i ; ccm create --quiet -n 1 -v binary:5.0.$i test && ccm remove test ; done'

# the .git subdirectories to pip installed cassandra-driver breaks virtualenv-clone, so just remove them
# and other directories we don't need in image
Expand Down
41 changes: 41 additions & 0 deletions .build/git/git-hooks/post-checkout/100-update-submodules.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/usr/bin/env bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Redirect output to stderr.
exec 1>&2

#set -o xtrace
set -o errexit
set -o pipefail
set -o nounset

bin="$(cd "$(dirname "$0")" > /dev/null; pwd)"

_main() {
# In case the usage happens at a different layer, make sure to cd to the toplevel
local root_dir
root_dir="$(git rev-parse --show-toplevel)"
cd "$root_dir"

if [[ ! -e .gitmodules ]]; then
# nothing to see here, look away!
return 0
fi
git submodule update --init --recursive
}

_main "$@"
1 change: 1 addition & 0 deletions .build/git/git-hooks/post-switch
Loading