Commit Graph

30815 Commits

Author SHA1 Message Date
Jacek Lewandowski dfd1e99fd1 CEP-15: Add Accord configuration stub
Patch by Jacek Lewandowski; reviewed by David Capwell for CASSANDRA-18221
2025-04-17 11:59:49 -07:00
Jacek Lewandowski 27a9313970 CEP-15: Accord metrics
Patch by Jacek Lewandowski, reviewed by Caleb Rackliffe, David Capwell and Henrik Ingo for CASSANDRA-18580
2025-04-17 11:59:49 -07:00
Caleb Rackliffe cffe1cc61a ninja-fix: minor post-TCM-rebase cleanup 2025-04-17 11:59:49 -07:00
Caleb Rackliffe 19fcbcab61 ninja-fix: checkstyle fixes in VirtualTableTest, HistoryValidatorTest, SeedDefiner, RunStartDefiner, and Config 2025-04-17 11:59:48 -07:00
Aleksey Yeschenko c0a63c9164 CEP-15: Minimize transaction state kept in system tables
patch by Aleksey Yeschenko; reviewed by Ariel Weisberg for CASSANDRA-18573
2025-04-17 11:59:48 -07:00
Caleb Rackliffe 08428a2750 - Avoid persisting fragments that do not require completion as Updates in TxnWrite, as they can simply be pulled from PartialTxn when needed in Write#apply()
- Avoid serializing full TxnData instances to Accord state tables

patch by Caleb Rackliffe; reviewed by David Capwell, Benedict Elliot Smith, and Ariel Weisberg for CASSANDRA-18355
2025-04-17 11:59:48 -07:00
David Capwell cfc63edcb4 CEP-15: (C*) accord.messages.BeginRecovery.RecoverNack#supersededBy is nullable but C* serializer doesn't expect null 2025-04-17 11:59:48 -07:00
David Capwell 10e065ffe5 Fix Accord compaction purger tombstone logic
Accord compaction purgers see random slices of Accord state during compaction (based on randomly selected compaction inputs).

For at least the `durability` column in the `commands` table the tombstone being created when truncating was deleting the latest value since we can get enough information to truncate without actuall yhaving the latest `durability` value.

To fix we can wait to emit a tombstone until we are erasing the entire command row when truncating or truncating with outcome and meanwhile we can drop the extra columns that are no longer needed instead of using a tombstone. We don't need to emit cell tombstones we can drop them from the purger when processing each row.

patch by Ariel Weisberg; reviewed by David Capwell for CASSANDRA-18795
2025-04-17 11:59:48 -07:00
Blake Eggleston ba02bd0bc7 Bootstrap/TCM integration test fixes 2025-04-17 11:59:48 -07:00
David Capwell 6167e436c3 CEP-15 (C*): when loading commands that have empty waiting_on, make sure not to loose the partial deps (#3590)
patch by David Capwell; reviewed by Aleksey Yeschenko for CASSANDRA-18783
2025-04-17 11:59:48 -07:00
Ariel Weisberg 82acd3e950 Allow exceptions to be propagated remotely
https://github.com/apache/cassandra-accord/pull/56

Patch by Ariel Weisberg; Reviewed by David Capwell for CASSANDRA-18779
2025-04-17 11:59:48 -07:00
Jacek Lewandowski bfa0e59f7f CASSANDRA-18774: Fix pre-commit hook 2025-04-17 11:59:48 -07:00
David Capwell 76994f8196 CEP-15 (C*) When a host replacement happens don't loose the peer mapping right away (#3575)
patch by David Capwell; reviewed by Blake Eggleston for CASSANDRA-18764
2025-04-17 11:59:48 -07:00
Benedict Elliott Smith a6bb08d926 Support state eviction (i.e. permit the state machine to erase transactions that are known to be applied across the cluster)
patch by Benedict Elliott Smith; reviewed by Ariel Weisberg, Aleksey Yeschenko, and David Capwell for CASSANDRA-18883

Co-authored-by: Benedict Elliott Smith <benedict@apache.org>
Co-authored-by: Ariel Weisberg <aweisberg@apple.com>
Co-authored-by: Aleksey Yeschenko <aleksey@apache.org>
Co-authored-by: David Capwell <dcapwell@gmail.com>
2025-04-17 11:59:48 -07:00
Blake Eggleston 00bbf4ec8e CEP-15: Accord Bootstrap Integration
Patch by Blake Eggleston and Benedict Elliott Smith; Reviewed by David
Capwell for CASSANDRA-17101

CEP-15: Accord TCM integration

Patch by Blake Eggleston; Reviewed by David Capwell for CASSANDRA-18444
2025-04-17 11:59:48 -07:00
Aleksey Yeschenko 145c467c69 CEP-15: Convert AccordStateCache cache from write-through to write-back
patch by Aleksey Yeschenko; reviewed by Blake Eggleston for
CASSANDRA-18563
2025-04-17 11:59:48 -07:00
Aleksey Yeschenko 8f156fc5dc CEP-15: Extend Accord MessageType with a side effect flag
patch by Aleksey Yeschenko; reviewed by Benedic Elliott Smith for
CASSANDRA-18561
2025-04-17 11:59:48 -07:00
David Capwell f76f806de1 CEP-15: (C*) Add notion of CommandsForRanges and make this durable in C*
patch by David Capwell; reviewed by Ariel Weisberg for CASSANDRA-18519
2025-04-17 11:59:48 -07:00
Caleb Rackliffe f54144d1c1 - make sure workspace.xml specifies a storagedir
- removing unnecessary calls to ServerTestUtils.daemonInitialization() in a handful of tests
- minor cleanup in Verb and BTreeSet
2025-04-17 11:59:48 -07:00
Benedict Elliott Smith 537c1f991a (Accord only) Permit nodes to join a cluster without the full transaction history
patch by Benedict; reviewed by Blake Eggleston for CASSANDRA-18523
2025-04-17 11:59:48 -07:00
Aleksey Yeschenko 8dc82a6369 CEP-15: Store PreAccept, Accept, Commit, and Apply messages
in a durable log before processing by CommandStores

patch by Aleksey Yeschenko; reviewed by David Capwell for
CASSANDRA-18344
2025-04-17 11:59:48 -07:00
David Capwell da92eed225 CEP-15: (C*) Enhance in-memory FileSystem to work with mmap and support tests to add custom logic
patch by David Capwell; reviewed by Caleb Rackliffe for CASSANDRA-18485
2025-04-17 11:59:48 -07:00
David Capwell 8633a301f7 CEP-15: (C*) Accord message processing should avoid being passed on to a Stage and run directly in the messageing handler
patch by David Capwell; reviewed by Ariel Weisberg, Benedict Elliott Smith for CASSANDRA-18364
2025-04-17 11:59:48 -07:00
David Capwell 7ad2bf672c CEP-15 (Accord) Original and recover coordinators may hit a race condition with PreApply where reads and writes are interleaved, causing one of the coordinators to see the writes from the other
patch by David Capwell; reviewed by Ariel Weisberg for CASSANDRA-18422
2025-04-17 11:59:48 -07:00
David Capwell 44824a6e45 CEP-15 (Accord) Expected reply message with verb ACCORD_INFORM_OF_TXNID_RSP but got ACCORD_SIMPLE_RSP
patch by David Capwell; reviewed by Caleb Rackliffe for CASSANDRA-18375
2025-04-17 11:59:48 -07:00
David Capwell 4e95e3a440 Operations.migrateReadRequiredOperations fails due to concurrent access when TransactionStatement is prepared
patch by David Capwell; reviewed by Ariel Weisberg, Caleb Rackliffe for CASSANDRA-18337
2025-04-17 11:59:48 -07:00
Caleb Rackliffe 68135aaf29 fixing remaining (mostly compilation) issues after initial rebase of cep-15-accord on cep-21-tcm 2025-04-17 11:59:48 -07:00
Jacek Lewandowski ea71336278 Improve transaction statement validation
patch by Jacek Lewandowski; reviewed by David Capwell and Caleb Rackliffe for CASSANDRA-18302
2025-04-17 11:59:48 -07:00
David Capwell f092461114 CEP-15: (Accord) Migrate Accord away from JDK random to a new interface RandomSource
patch by David Capwell; reviewed by Blake Eggleston for CASSANDRA-18213
2025-04-17 11:59:48 -07:00
David Capwell 6c62cc4ffa Remove git hook for pre-push as it is redundant and causes issues when merging to mainline
patch by David Capwell; reviewed by Caleb Rackliffe for CASSANDRA-18309
2025-04-17 11:59:48 -07:00
Blake Eggleston 34bd73e2a7 CEP-15/Accord Immutable State Refactor
Patch by Blake Eggleston; Reviewed by David Capwell and Benedict Elliott Smith for Cassandra-18192
2025-04-17 11:59:48 -07:00
Blake Eggleston e6a8c030c1 add AsyncChain implementations and tests
Patch by Blake Eggleston; Reviewed by David Capwell & Benedict Elliott Smith for CASSANDRA-18004
2025-04-17 11:59:47 -07:00
Blake Eggleston 09c8fa1030 CEP-15 (C*): Messaging and storage engine integration
patch by Blake Eggleston; reviewed by Benedict Elliott Smith, David Capwell for CASSANDRA-17103
2025-04-17 11:59:47 -07:00
David Capwell e1823e0e22 Merge branch 'cassandra-5.0' into trunk 2025-04-16 15:22:56 -07:00
Sunil Ramchandra Pawar 4436b84a5a SAI fails queries when multiple columns exist and a non-indexed column is a composite with a map
patch by Sunil Ramchandra Pawar; reviewed by Caleb Rackliffe, David Capwell for CASSANDRA-19891
2025-04-16 15:21:49 -07:00
Caleb Rackliffe 1e7e24893d Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Avoid computing prepared statement size for unprepared batches
2025-04-15 23:06:41 -05:00
Caleb Rackliffe 7d93089a1e Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Avoid computing prepared statement size for unprepared batches
2025-04-15 23:00:40 -05:00
Caleb Rackliffe 8077f276c2 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Avoid computing prepared statement size for unprepared batches
2025-04-15 22:58:16 -05:00
Caleb Rackliffe 78290bed45 Avoid computing prepared statement size for unprepared batches
patch by Caleb Rackliffe; reviewed by Berenguer Blasi and Marcus Eriksson for CASSANDRA-20556
2025-04-15 22:48:10 -05:00
David Capwell 6b2cdba56b AST fuzz tests can be flakey in multi node clusters due to ephemeral read errors caused by a race condition issue with SAIUtils test class
patch by David Capwell; reviewed by Bernardo Botella Corbi, Caleb Rackliffe for CASSANDRA-20550
2025-04-15 10:24:08 -07:00
Bereng f7462446a4 Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  CASSANDRA-19633 Replaced node is stuck in a loop calculating ranges
2025-04-14 09:24:36 +02:00
Bereng 0f9bb246cd Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  CASSANDRA-19633 Replaced node is stuck in a loop calculating ranges
2025-04-14 09:23:14 +02:00
Bereng 3e2e4c3ea1 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  CASSANDRA-19633 Replaced node is stuck in a loop calculating ranges
2025-04-14 09:21:58 +02:00
Bereng fcea0b6fd8 CASSANDRA-19633 Replaced node is stuck in a loop calculating ranges 2025-04-14 09:20:33 +02:00
Francisco Guerrero d3658f0491 Fix JMX initialization problem in injvm-dtest framework
Patch by Francisco Guerrerro, Doug Rohrer; reviewed by TBD for CASSANDRA-20539

Co-authored-by: Doug Rohrer <jeetkundoug@apache.org>
2025-04-11 15:51:55 -07:00
Marcus Eriksson 8404d2fd5c Improve performance when getting writePlacementAllSettled from ClusterMetadata in large cluster with many range movements
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20526
2025-04-11 13:49:55 +02:00
Marcus Eriksson 2c05f82755 Add nodetool command to dump the contents of the system_views.{cluster_metadata_log, cluster_metadata_directory} tables
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20525
2025-04-11 13:48:34 +02:00
Marcus Eriksson eb0c77ae1e Fix TreeMap race in CollectionVirtualTableAdapter causing us to lose rows in the virtual table
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20524
2025-04-11 13:46:11 +02:00
Marcus Eriksson 6f79207c34 Improve metadata log catch up with inter-DC mutation forwarding
Patch by marcuse; reviewed by Sam Tunnicliffe for CASSANDRA-20523
2025-04-11 13:44:42 +02:00
Sam Tunnicliffe 7a888149df Support topology-safe changes to Datacenter & Rack for live nodes
Patch by Sam Tunnicliffe; reviewed by Marcus Eriksson for
CASSANDRA-20528
2025-04-11 11:53:09 +01:00