> 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
> >
>

Reply via email to