Re: Why is Quorum not sufficient for Linearization?

2014-10-18 Thread DuyHai Doan
Hello Evan Why, in a scenario of resurrections of unacknowledged writes, don't we get linearizability ? Can you give more detailed explanation on such scenario ? @Oliver: true, the formal definition of linearizability is not related to isolation. My bad. And for your question What does

Re: Why is Quorum not sufficient for Linearization?

2014-10-18 Thread Evan Weaver
This is my understanding, others disagree. Sequential consistency: each program's order of reads is preserved Linearizability: each program's order of all reads as well as writes is preserved Assume a single process is making reads and writes to the same partition key, the replication factor is

RE: Why is Quorum not sufficient for Linearization?

2014-10-16 Thread Ruebenacker, Oliver A
Hello, The fact that things can always change immediately is not an obstacle to linearizability. The lack of linearizability manifests in inconsistency, i.e. you read from multiple nodes and get different results. What does Cassandra do in the case of inconsistent reads? Wait or

Re: Why is Quorum not sufficient for Linearization?

2014-10-16 Thread Peter Lin
To the best of my knowledge, only guaranteed way is with an ACID compliant system. The examples other have already provided should give you a decent idea. If that's not enough, you would need to read papers on CRDT's and how they compare to ACID systems.

Re: Why is Quorum not sufficient for Linearization?

2014-10-16 Thread Evan Weaver
Quorum reads and writes in Cassandra guarantee sequential consistency. The reason this doesn't satisfy linearizability is because resurrections of unacknowledged writes can occur. A read of a half-committed write will trigger synchronous read repair and the order will be stable from that point

Why is Quorum not sufficient for Linearization?

2014-10-15 Thread Timmy Turner
Cassandra in general can't provide guarantee any ordering of the executed queries, since nodes may fail or rejoin the in arbitrary points in time. But why can't it provide ordering for queries run at at least the quorum level? Given that none of the updates get lost, why would order still an