cassandra/modules
Benedict Elliott Smith 3d40c8825c Expunged records may be resurrected:
CommandChanges.shouldCleanup short-circuits to NO if there is no data, but this is incorrect as Cleanup.EXPUNGE may have dropped the data and the record must receive cleanup EXPUNGE and be reported as ERASED.
Also Fix:
 - Populate CFK system table row markers so we can stop reading sstables as soon as we have data
 - system_accord_debug.executors has wrong clustering type
 - RemoteToLocalVirtualTable should lazily allocate the partition collector to avoid LIMIT clause filtering removing it before it's populated
 - ActiveEpochs.withNewEpochs should handle transition from 0 -> more than 1
 - RedundantBefore.minGcBefore should be NONE if empty
 - Update RangesForEpoch directly, so that we cannot have race conditions where the ownership is unknown
 - Avoid reentrancy on local callbacks
 - Ensure ReadCoordinator callbacks are invoked on owning thread
 - Avoid deadlock when notifying ComplexListener(s)
 - Release IntrusivePriorityHeap memory from large capacity heaps when empty
 - Prevent SynchronousRecoverAwait reentrancy when invoking onDone (by exposing and invoking invokeOnDone that first sets isDone)
 - maybeExecute must invoke either notWaiting or notifyWaiting to ensure tryExecuteListening terminates
Also Improve:
 - Configurable execute_waiting_on_start

patch by Benedict; reviewed by Alan Wang and Alex Petrov for CASSANDRA-21440
2026-06-18 10:58:31 +01:00
..
accord@66cab49f1c Expunged records may be resurrected: 2026-06-18 10:58:31 +01:00