Long time listener, first time caller here - hello! 

I am very interested in this part "Better safety among range movements: 
Electorate verification during range movements provides a stronger assertion of 
linearizability via assurance of the set of instances voting on a transaction.ā€

I have seen issues in the wild where people want to add/remove DCs. I think 
that there may be a risk consistency violations due to transactions 
circumventing the locks held by in-progress transactions. Will electorate 
verification help in the below scenario?
Queries are running at SERIAL, writing at EACH_QUORUM against DC1 at RF=3.
DC2 is added, and once all nodes are in UN the schema is adjusted so that DC2’s 
RF=3.
While the new schema propagates, there is a transitional state, in which some 
potential coordinators have the new schema S2, and others are operating on the 
old schema S1.
In this state, S2 form consensus from 4/6 nodes, while S1 coordinators form 
consensus from 2/3 nodes.
A query issued from an S1 coordinator can form a valid consensus which will 
circumvent the lock held by an S2 coordinator.
I was thinking of proposing an EACH_QUORUM serial CL, but if electorate 
verification solves the problem then that may be the better solution.

Miles


> On 19 Aug 2021, at 9:18 am, Scott Andreas <sc...@paradoxica.net> wrote:
> 
> Benedict, thank you for sharing this CEP!
> 
> Adding some notes on why I support this proposal:
> 
> - Reducing common-case round trips from 4x to 2x on writes and 2x to 1x on 
> reads is a huge improvement. This latency reduction may be sufficient to 
> allow many users of Cassandra who operate in a single datacenter, 
> availability zone, or region to migrate to a multi-region topology.
> 
> - The Cluster Simulation work described in CEP-10 provides a toolchain for 
> probabilistically-exhaustive validation and simulation of transactional 
> correctness, allowing assertion of linearizability in the presence of 
> adversarial thread scheduling and message ordering over an unbounded number 
> of simulated clusters and transactions.
> 
> - Some use cases may see a superlinear increase in LWT performance due to a 
> reduction in contention afforded by fewer message round-trips. E.g., halving 
> latency shortens the interval during which competing transactions may 
> conflict, reducing contention and improving throughput beyond a level that 
> would be afforded by the latency reduction alone.
> 
> - Better safety among range movements: Electorate verification during range 
> movements provides a stronger assertion of linearizability via assurance of 
> the set of instances voting on a transaction.
> 
> – Scott
> 
> ________________________________________
> From: bened...@apache.org <bened...@apache.org>
> Sent: Wednesday, August 18, 2021 2:31 PM
> To: dev@cassandra.apache.org
> Subject: [DISCUSS] CEP 14: Paxos Improvements
> 
> RE: 
> https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-14%3A+Paxos+Improvements
> 
> I’m proposing this CEP for approval by the project. The goal is to both 
> improve the performance of LWTs and to ensure their correctness across a 
> range of scenario like range movements. This work builds upon the Simulator 
> CEP that has been recently adopted, and patches will follow in the coming 
> weeks.
> 
> If you have any concerns or questions please raise them here for discussion.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
> For additional commands, e-mail: dev-h...@cassandra.apache.org
> 

Reply via email to