Dear Hiro, Thank you for your response!
Hmm, my understanding is slightly different I think. Please let me try to explain one situation and let me know what you think. 1. Do a LWT write with serial_consistency = SERIAL (default) and consistency = ONE. 2. LWT starts its Paxos phase and has communicated with a quorum of nodes 3. At this point a read of that data is initiated with consistency = SERIAL. Now, here is where I am confused. What I think happens is that a SERIAL read will read from a quorum of nodes and detect that the Paxos phase is underway and... maybe wait until it is over before responding with the latest data? The Paxos phase happens between a quorum so basically even though the consistency level is ONE (or indeed ANY as the Python docs state), doing a read with SERIAL implies that the write actually took place at a consistency level equivalent to QUORUM. Here also what I think is that a read initiated when the Paxos phase is underway with a consistency level of QUORUM or ALL will not detect that a Paxos phase is underway and return the old current data. Is this correct? Thank you for any help! Best wishes, Craig On Fri, May 24, 2019 at 9:58 AM Hiroyuki Yamada <mogwa...@gmail.com> wrote: > Hi Craig, > > I'm not 100 % sure about some corner cases, > but I'm sure that LWT should be used with the following consistency > levels usually. > > LWT write: > serial_consistency_level: SERIAL > consistency_level: QUORUM > > LWT read: > consistency_level: SERIAL > (It's a bit weird and mis-leading as a design that you can set SERIAL > to consistency_level in read where as you can't for write.) > > BTW, I doubt the python doc is correct in especially the following part. > "But if the regular consistency_level of that write is ANY, then only > a read with a consistency_level of SERIAL is guaranteed to see it > (even a read with consistency ALL is not guaranteed to be enough)." > It is really true? > It doesn't really make sense to me because SERIAL read mostly returns > by seeing quorum of replications, > and write with ANY returns by writing mostly one replication, so they > don't overlap in that case. > It would be great if anyone can clarify this. > > Thanks, > Hiro > > > On Thu, May 23, 2019 at 3:53 PM Craig Pastro <siyo...@gmail.com> wrote: > > > > Hello! > > > > I am trying to understand the consistency level (not serial consistency) > required for LWTs. Basically what I am trying to understand is that if a > consistency level of ONE is enough for a LWT write operation if I do my > read with a consistency level of SERIAL? > > > > It would seem so based on what is written for the datastax python driver: > > > > > http://datastax.github.io/python-driver/api/cassandra/query.html#cassandra.query.Statement.serial_consistency_level > > > > However, that is the only place that I can find this information so I am > a little hesitant to believe it 100%. > > > > By the way, I did find basically the same question ( > https://www.mail-archive.com/user@cassandra.apache.org/msg45453.html) but > I am unsure if the answer there really answers my question. > > > > Thank you in advance for any help! > > > > Best regards, > > Craig > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org > For additional commands, e-mail: user-h...@cassandra.apache.org > >