David Capwell
a324003c59
Get simulator working (again)
...
Co-authored-by: Ariel Weisberg <aweisberg@apple.com>
Co-authored-by: Benedict Elliott Smith <benedict@apache.org>
2025-04-17 11:59:49 -07:00
Benedict Elliott Smith
8de3dfc711
CASSANDRA-18365: Protocol fixes
2025-04-17 11:59:49 -07:00
Aleksey Yeschenko
5385e9c60a
Fix LocalPartitioner duplication in *_for_key Accord system tables
...
patch by Aleksey Yeschenko; reviewed by Marcus Eriksson for
CASSANDRA-19265
2025-04-17 11:59:49 -07:00
Aleksey Yeschenko
20af77031a
Pre-requisite changes for CASSANDRA-18888
...
patch by Aleksey Yeschenko; reviewed by Ariel Weisberg for
CASSANDRA-18888
2025-04-17 11:59:49 -07:00
David Capwell
633bbee1a6
(Accord): Bug fixes from CASSANDRA-18675 to better support adding keyspaces
...
patch by David Capwell; reviewed by Benedict Elliott Smith, Blake Eggleston for CASSANDRA-18804
2025-04-17 11:59:49 -07:00
David Capwell
a95f072e35
(Accord) NPE while trying to serialize FoundKnownMap as value is null half the time but unexpected while serializing
...
patch by David Capwell; reviewed by Blake Eggleston for CASSANDRA-19253
2025-04-17 11:59:49 -07:00
Blake Eggleston
cb1a05c5d4
Schema based accord fast path configuration
...
Patch by Blake Eggleston; Reviewed by David Capwell and Alex Petrov for CASSANDRA-19009
2025-04-17 11:59:49 -07:00
Blake Eggleston
e812127a8b
Fix TombstoneCountWarningTest
...
Don't use ImmediateExectuor in JVM dtests to process messages
Fix GuardrailTablesTest
Instance.receiveMessage should use sync
Fix StorageAttachedIndexDDLTest failing due to background Accord compactions
Add back enforceInvariants=false to shouldCleanup in AccordCommandsPurger
Fix CompactionAccordIteratorsTest
Fix empty row check in command/tfk mutation methods
2025-04-17 11:59:49 -07:00
Ariel Weisberg
1f4675a902
Fix AccordCommandsPurger universal durability check
2025-04-17 11:59:49 -07:00
Ariel Weisberg
021b06639e
Fix Mutation serializer
...
Fix AccordJournal.Type interop entries
2025-04-17 11:59:49 -07:00
Ariel Weisberg
a9cb71833a
Fix additional live migration/interop merge issues
...
s fc83325fa9 Fix AccordObjectSizes empty sizes
s 44bce6a08c Fix error handling when there are no column families to repair
s f1459540e5 Fix broken nowInSec deserialization
s 91c1befd1c Fix Mutation serializedSize
s b11467c200 Using simulated clock instead of raw nanoTime
s 6412b35924 Accord repair needs to use sentinel tokens
s d19c01ff01 Enable Accord repair with HappyPathFuzzTest
s 2da87f91b8 Implement abort in AccordRepairJob
s e12877c4fa move barrier to accord spec
Patch by Ariel Weisberg; Reviewed by David Capwell for CASSANDRA-19023
2025-04-17 11:59:49 -07:00
Blake Eggleston
d07a36106d
Reduce command deps
...
Patch by Blake Eggleston; Reviewed by Benedict Elliott Smith for CASSANDRA-18784
2025-04-17 11:59:49 -07:00
Benedict Elliott Smith
050688228f
Improve validation and address various discovered faults
...
patch by Benedict; reviewed by Ariel Weisberg for CASSANDRA-19045
2025-04-17 11:59:49 -07:00
Aleksey Yeschenko
0e899532dc
Quick fix for AccordCommandStoreTest#commandLoadSave()
2025-04-17 11:59:49 -07:00
Ariel Weisberg
4c575a7e48
Fix Paxos V2 prepare response serialization
...
Patch by Ariel Weisberg; Reviewed by David Capwell for CASSANDRA-19023
2025-04-17 11:59:49 -07:00
Ariel Weisberg
c10c84b9cd
Accord/non-Accord interoperability and support for live migration
...
Patch by Ariel Weisberg; Reviewed by Blake Eggleston for CASSANDRA-18129
Co-authored-by: Blake Eggleston <beggleston@apple.com>
2025-04-17 11:59:49 -07:00
Jon Meredith
9e766f46a3
Several simulator fixes not yet merged to cep-15-accord
...
s c4bf1533b4 Add more JVM arg checks to the paxos simulation runner
s 1b650a0636 break circular dependency between FileSystemOwnershipCheck and CassandraRelevantProperties
s e0111748dd fix verify with-rng and interrupts
s f8475f2a18 make SimulatedFailureDetector deterministic
s ee77734bbe Deterministic transformation
s 890f23696a Add mechanism forsimulator to intercept password salting
s 5205b99874 Specify Paxos V2 because it is the only linearizable option
Patch by Ariel Weisberg; Reviewed by David Capwell for CASSANDRA-19008
2025-04-17 11:59:49 -07:00
Alex Petrov
169f790cb1
Use pinned Harry version
2025-04-17 11:59:49 -07:00
David Capwell
18d3aa47bc
CEP-15: (C*) Implement TopologySorter to prioritise hosts based on DynamicSnitch and/or topology layout
...
patch by Blake Eggleston, David Capwell; reviewed by Blake Eggleston for CASSANDRA-18929
2025-04-17 11:59:49 -07:00
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