> Why not throw an exception? So this is essentially just a reporting mechanism for when an operation encounters state that should be impossible – this will have been left behind by prior operations, so the damage is already done and there’s no reason to throw an exception and fail the current one.
I should also make clear this _isn’t_ a guarantee of spotting violations, but it’s quite sensitive and much better than nothing. In a real system the most likely cause of this kind of impossible state would be e.g. mixing SERIAL with LOCAL_SERIAL, which is not safe unless you perform a really intricate dance, but we can distinguish this case from real bugs. > Also, way to sell the next discussion Benedict :D :D From: Patrick McFadin <pmcfa...@gmail.com> Date: Thursday, 19 August 2021 at 21:48 To: dev@cassandra.apache.org <dev@cassandra.apache.org> Subject: Re: [DISCUSS] CEP 14: Paxos Improvements I'm curious about this: "We will introduce mechanisms to spot and log linearizability violations for the user to file as bug reports" Why not throw an exception? Maybe it's just I don't quite see how this will be detected. I think this is very interesting though. Also, way to sell the next discussion Benedict :D Patrick On Thu, Aug 19, 2021 at 1:50 AM bened...@apache.org <bened...@apache.org> wrote: > Hi Jeremy, > > That’s a great question, and the answer is that we shouldn’t compare the > two as they aren’t in conflict. The goal of this work is only to improve > the existing Paxos implementation – the characteristics are identical > besides being faster, so this is a simple and safe upgrade route for users > in the short to medium term. > > Watch this space for a follow up discussion very soon about what we can do > to modernise transactions in Cassandra more generally, and what this might > mean for how we perform consensus. A comparative discussion of EPaxos and > other related work is very well suited to that topic, in my opinion. > > > From: Jeremy Hanna <jeremy.hanna1...@gmail.com> > Date: Thursday, 19 August 2021 at 00:58 > To: dev@cassandra.apache.org <dev@cassandra.apache.org> > Subject: Re: [DISCUSS] CEP 14: Paxos Improvements > It sounds like a great improvement! > > Just for those who had followed the development of ePaxos* that Blake and > others worked on but was never committed, it would be nice to briefly > compare the two. > > https://issues.apache.org/jira/browse/CASSANDRA-6246 > > > On Aug 19, 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 > > >