mirror of https://github.com/apache/cassandra
- Privileged coordinator. If the coordinator is a replica we can reduce our quorum sizes by including the coordinator's vote. - with deps: if we include coordinator's preaccept deps we can reliably reduce quorum size by 1, at the expense of recovery sometimes requiring additional phases and waiting for future txns - with only vote: if we only include the vote we can avoid any additional recovery phases or waiting for future txns, but can reduce our quorum size for only some configurations - Medium path. If t=t0 at a simple majority we can take just two rounds. - with additional phase: on recovery, earlier txns must wait for medium path to be disabled (or committed) so we do not accidentally recover a transaction that won't be witnessed - with unstable deps: on slow path commit, deps not found in accept as committed as unstable and do not affect recovery decisions for earlier transactions Also improve: - Recovery of await conditions simply recalculates the rejects flag rather than restarting to ensure faster forward progress - refactor Command hierarchy - tweak: don't save Writes for non-write transactions Also fix: - isOutOfRange when invoked from callback for some txn < Committed - handle loadingPruned that is pre-bootstrap on update to bootstrappedAt - journal replay can overwrite in memory state loaded for a command not yet replayed - subtle ordering bug in LatestDeps.mergeProposal - fix occasional class initialisation order bug - handle race condition on learning of topology patch by Benedict; reviewed by Aleksey Yeschenko for CASSANDRA-20222 |
||
|---|---|---|
| .. | ||
| accord@f9ed591f1b | ||