scylladb / scylladb

NoSQL data store using the seastar framework, compatible with Apache Cassandra

Home Page:http://scylladb.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

docs: Issue on page Consistency Level Calculator

bhalevy opened this issue · comments

I would like to report an issue on page https://opensource.docs.scylladb.com/branch-5.4/cql/consistency-calculator

Problem

How is it possible that e.g, with Nodes=3, RF=3,

  • READ_CL=QUORUM, WRITE_CL=QUORUM guarantees consistent reads, while
  • READ_CL=ALL, WRITE_CL=QUORUM guarantees only eventually consistent reads?

It is true that the later has lower availability since losing a node will return an error, but a successful read will always be consistent.

Suggest a fix

READ_CL=ALL should always guarantee consistent reads for any WRITE_CL != ANY

@tgrabiec am I hallucinating? :)

I think you're right, {READ_CL=ALL, WRITE_CL=QUORUM} should be consistent, since the read set always overlaps with any past write set.