Commit Graph

31718 Commits

Author SHA1 Message Date
Blake Eggleston 19be8aeac2 CEP-45: Add mutation tracking support for secondary index reads
This patch enables mutation tracking for queries using secondary indexes (both
legacy 2i and SAI). Key changes include the addition of the MultiStepSearcher
interface, which allows existing index implementations to iterate over matches
and filter augmented data, proper Memtable snapshotting, and the integration of
these in PartialTrackedIndexRead.

patch by Blake Eggleston; reviewed by Aleksey Yeschenko and Caleb Rackliffe for CASSANDRA-20374

Co-authored-by: Blake Eggleston <blake@ultrablake.com>
Co-authored-by: Caleb Rackliffe <calebrackliffe@gmail.com>
Co-authored-by: Aleksey Yeschenko <aleksey@apache.org>
2026-04-09 16:45:32 -07:00
Caleb Rackliffe 5a94a5a0fd Enable range reads for MultiNodeTableWalkWithMutationTrackingTest and document failure modes for known problematic seeds
patch by Caleb Rackliffe; reviewed by Blake Eggleston for CASSANDRA-20898
2026-04-09 16:45:32 -07:00
Aleksey Yeschenko d34e758e4b Truncate mutation journal as logs get reconciled
patch by Aleksey Yeschenko; reviewed by Alex Petrov for CASSANDRA-20710
2026-04-09 16:45:32 -07:00
Caleb Rackliffe def980e475 Disable mutation tracking by default in CassandraGenerators
patch by Caleb Rackliffe; reviewed by Blake Eggleston for CASSANDRA-20944
2026-04-09 16:45:32 -07:00
Blake Eggleston 4215cfd2aa CEP-45: Support host replacement with tracked keyspaces
Patch by Blake Eggleston; Reviewed by Abe Ratnofsky for CASSANDRA-20891
2026-04-09 16:45:32 -07:00
Alex Petrov a7b431d683 CEP-45: Integrate Mutation Journal with Memtable flush tracking
* Tracking of Memtable -> SSTable flushes in Mutation Journal segments
  * Replay of Mutation Journal segments that were not fully flushed to SSTables
  * Distinguish between CommitLog and MutationJournal offsets
  * Effectively adds support for node bounces

Patch by Alex Petrov; reviewed by Aleksey Yeschenko for CASSANDRA-20919
2026-04-09 16:45:32 -07:00
Ariel Weisberg 1e036cf620 Initial witness non-serial single partition read/write path
Patch by Ariel Weisberg; Reviewed by Abe Ratnosfky for CASSANDRA-20930
2026-04-09 16:45:32 -07:00
Aleksey Yeschenko 9d856f2c08 Implement Shard and CoordinatorLog metadata durability
patch by Aleksey Yeschenko; reviewed by Abe Ratnofsky for CASSANDRA-20882
2026-04-09 16:42:44 -07:00
Blake Eggleston 9dbafa812d Single-partition read fixes:
- filter augmenting mutations and add comment explaining why we don't exclude reconciled mutations when augmenting
- propagate exceptions during acknowledgeReconcile
- fix UnreconciledMutations handling of single key bounds
- fix single offset remove bug

patch by Blake Eggleston; reviewed by Caleb Rackliffe for CASSANDRA-20830
2026-04-09 16:42:44 -07:00
Caleb Rackliffe 416c1292e4 Enable single-partition AST fuzz tests w/ mutation tracking
patch by Caleb Rackliffe; reviewed by ? for CASSANDRA-20830
2026-04-09 16:42:44 -07:00
Aleksey Yeschenko 9676c0eaeb Implement unified log reconciliation
patch by Aleksey Yeschenko; reviewed by Blake Eggleston for
CASSANDRA-20729

Co-authored-by: Aleksey Yeschenko <aleksey@apache.org>
Co-authored-by: Blake Eggleston <blake@ultrablake.com>
2026-04-09 16:35:32 -07:00
Caleb Rackliffe c1bb86ab60 Initial round of post-rebase (mostly Accord-related) fixes 2026-04-09 16:34:18 -07:00
Caleb Rackliffe 6c26813c2a Separate TestParams by use-case (Accord vs. Mutation Journal) 2026-04-09 16:34:18 -07:00
Blake Eggleston 14a743f8f7 CEP-45: Fix ALLOW FILTERING queries for mutation tracking
Patch by Blake Eggleston; Reviewed by Aleksey Yeschenko for CASSANDRA-20555
2026-04-09 16:34:18 -07:00
Abe Ratnofsky 65caf3f58b Fully reconciled SSTable promotion
patch by Abe Ratnofsky; reviewed by Ariel Weisberg, Blake Eggleston for CASSANDRA-20381
2026-04-09 16:34:18 -07:00
Abe Ratnofsky 51e63f0ff3 Add mutation tracking summary to SSTables
Patch by Abe Ratnofsky; reviewed by Ariel Weisberg, Blake Eggleston for CASSANDRA-20336
2026-04-09 16:34:18 -07:00
Aleksey Yeschenko fa017c6334 Implement coordinator log offset broadcasting
patch by Aleksey Yeschenko; reviewed by Blake Eggleston for CASSANDRA-20576
2026-04-09 16:34:18 -07:00
Abe Ratnofsky c18ca7afc5 CEP-45: Query forwarding
Patch by Abe Ratnofsky; Reviewed by Blake Eggleston for CASSANDRA-20309
2026-04-09 16:34:18 -07:00
Blake Eggleston c71f976955 Mutation tracking journal integration, read, and write path
Patch by Blake Eggleston & Aleksey Yeshchenko
Reviewed by Blake Eggleston, Aleksey Yeshchenko, & Abe Ratnofsky
 for CASSANDRA-20304, CASSANDRA-20305, & CASSANDRA-20308, CASSANDRA-20373

Co-authored-by: Blake Eggleston <blake@ultrablake.com>
Co-authored-by: Aleksey Yeschenko <aleksey@apache.org>
2026-04-09 16:34:18 -07:00
Aleksey Yeschenko b824304867 Introduce MutationJournal for coordinator logs
patch by Aleksey Yeschenko; reviewed by Blake Eggleston for
CASSANDRA-20353
2026-04-08 09:30:40 -07:00
Paulo Motta 73063437b6 Merge branch 'cassandra-5.0' into trunk 2026-04-08 11:17:44 -04:00
Paulo Motta 9500eb129b Backport Automated Repair Inside Cassandra (CEP-37)
Includes bug fixes and features:
- Improved observability in AutoRepair (CASSANDRA-20581)
- Stop repair scheduler if two major versions detected (CASSANDRA-20048)
- Safeguard Full repair against disk protection (CASSANDRA-20045)
- Stop AutoRepair monitoring thread upon shutdown (CASSANDRA-20623)
- Fix race condition in auto-repair scheduler (CASSANDRA-20265)
- Minimum repair task duration setting (CASSANDRA-20160)
- Preview_repaired auto-repair type (CASSANDRA-20046)
- Gate auto-repair behind cassandra.autorepair.enable JVM property
- Add cassandra.autorepair.check_min_version to gate minimum version enforcement
- Prevent auto-repair from running if any node is below 5.0.7
- Make system_distributed auto-repair schema conditional on feature being enabled
- Add user-friendly errors for disabled auto-repair and schema incompatibility

patch by Paulo Motta; reviewed by Andy Tolbert, Jaydeepkumar Chovatia for CASSANDRA-21138

Co-Authored-By: Andy Tolbert <andy_tolbert@apple.com>
Co-Authored-By: Chris Lohfink <clohfink@netflix.com>
Co-Authored-By: Francisco Guerrero <frankgh@apache.org>
Co-Authored-By: Himanshu Jindal <himanshj@amazon.com>
Co-Authored-By: Jaydeepkumar Chovatia <jchovati@uber.com>
Co-Authored-By: Kristijonas Zalys <kzalys@uber.com>
Co-Authored-By: jaydeepkumar1984 <chovatia.jaydeep@gmail.com>
2026-04-08 10:53:41 -04:00
mck d2bdb2ffa8
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Autogenerate the doc antora.yml
2026-04-08 15:24:07 +02:00
mck 0807210572
Autogenerate the doc antora.yml
patch by Mick Semb Wever; reviewed by Anthony Grasso for CASSANDRA-17375
2026-04-08 15:19:40 +02:00
mck 300c216aa6
ninja trunk patch for CASSANDRA-21202
this diff was supposed to be included in 5f9de8ca13

Rate limit password changes
Introduces property cassandra.role_password_update_interval_in_ms, with default value of 5000.
Logging added when passwords on roles are changed or are rate-limited.

 patch by Mick Semb Wever; reviewed by Doug Rohrer, Jeremiah Jordan for CASSANDRA-21202
2026-04-08 15:09:58 +02:00
Stefan Miklosovic 11c858b99f
revert changelog for CASSANDRA-21007 from 6.0-alpha2 as it was delivered in 6.0-alpha1 2026-04-07 15:43:26 +02:00
Mick Semb Wever 88e3fcfe8b
Increment version to 6.0-alpha2 2026-04-04 00:15:39 +02:00
Stefan Miklosovic 0679fea4cb
Merge branch 'cassandra-5.0' into trunk
This merge contains the forgotten entry in 6.0-alpha1 list of changes in CHANGES.txt for CASSANDRA-21007
2026-04-02 17:01:13 +02:00
jkonisa 03dc5a061c
Update cassandra-stress to support TLS 1.3 by default by auto-negotiation
This is a backport of 9d89b47c68 to cassandra-5.0 branch.

patch by Rishabh Saraswat; reviewed by Jyothsna Konisa, Brad Schoening for CASSANDRA-21007
2026-04-02 16:52:53 +02:00
Dmitry Konstantinov 1a9ab95c20 Fix a removed TTLed row re-appearance in a materialized view after a cursor compaction
Add an implementation of isExpired to ReusableLivenessInfo, before the change the method implementation was interited from an interface and always returned false, so livenessInfo().supersedes(...) did not work properly.

patch by Dmitry Konstantinov; reviewed by Branimir Lambov, Nitsan Wakart for CASSANDRA-21152
2026-04-01 18:58:02 +01:00
Sunil Ramchandra Pawar 157e8808f9 Add range delete support to AST-based fuzz tests
patch by Sunil Ramchandra Pawar; reviewed by Caleb Rackliffe and David Capwell for CASSANDRA-20949
2026-04-01 11:45:54 -05:00
Caleb Rackliffe 2184d5cc6b Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  ninja-fix: remove SSTable format and disk access mode randomization
2026-03-27 12:07:39 -05:00
ssekaran 32d541557c ninja-fix: remove SSTable format and disk access mode randomization
patch by Shruti Sekaran; reviewed by Caleb Rackliffe and Francisco Guerrero
2026-03-27 11:50:01 -05:00
Stefan Miklosovic bf755d0ade
Merge branch 'cassandra-5.0' into trunk 2026-03-24 10:37:20 +01:00
Matt Byrd 989901e4e0
Ensure schema created before 2.1 without tableId in folder name can be loaded in SnapshotLoader
Best effort attempt to get tableId from CFS, fallback to null which, still allows snapshot to be loaded
End result is that nodetool clearsnapshot and listsnapshot function for such snapshots on restart.

patch by Matt Byrd; reviewed by Stefan Miklosovic, Brandon Williams and Francisco Guerrero for CASSANDRA-21173
2026-03-24 10:36:30 +01:00
Stefan Miklosovic a54d227c86
Rework ZSTD dictionary compression logic to create a trainer per training
patch by Stefan Miklosovic; reviewed by Yifan Cai for CASSANDRA-21209
2026-03-23 18:11:51 +01:00
mck 922c8fb9c9
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Increment versions to 4.0.21, 4.1.12, 5.0.8
2026-03-23 09:57:37 +01:00
mck 92c69ef626
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Increment versions to 4.0.21, 4.1.12, 5.0.8
2026-03-23 09:56:50 +01:00
mck e418109303
Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Increment versions to 4.0.21, 4.1.12, 5.0.8
2026-03-23 09:54:33 +01:00
mck 636409baac
Increment versions to 4.0.21, 4.1.12, 5.0.8 2026-03-23 09:51:45 +01:00
Mick Semb Wever 1ee7ed7dde
Prepare debian changelog for 6.0-alpha1 2026-03-21 23:53:00 +01:00
Mick Semb Wever 677341dc1a
Increment to version 6.0-alpha1 2026-03-21 23:31:49 +01:00
mck 6590cb5aaf
Change trunk from 5.1 to 6.0
patch by Mick Semb Wever; reviewed by Dmitry Konstantinov for CASSANDRA-21243
2026-03-21 22:55:40 +01:00
Sam Tunnicliffe 5c07c122be Ninja: increase heap size in LocalRangesAllSettledBench
Follow up to 4454ab8699 (CASSANDRA-21144)
2026-03-19 10:27:57 +00:00
Mick Semb Wever 5f9b1bbfa9
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Prepare debian changelog for 5.0.7
  Prepare debian changelog for 4.1.11
  Prepare debian changelog for 4.0.20
2026-03-18 01:18:18 +01:00
Mick Semb Wever f92bf170d8
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Prepare debian changelog for 4.1.11
  Prepare debian changelog for 4.0.20
2026-03-18 01:17:54 +01:00
Mick Semb Wever 4130d358a4
Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Prepare debian changelog for 4.0.20
2026-03-18 01:17:26 +01:00
Mick Semb Wever 0269fd5665
Prepare debian changelog for 5.0.7 2026-03-18 00:54:34 +01:00
Mick Semb Wever 3ec081578d
Prepare debian changelog for 4.1.11 2026-03-18 00:19:21 +01:00
Mick Semb Wever c48b9f011d
Prepare debian changelog for 4.0.20 2026-03-17 23:47:42 +01:00