cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Cipar <>
Subject Re: Consistency model
Date Mon, 18 Apr 2011 11:56:36 GMT
That's what I thought was happening, yes.  A careful reading of the documentation suggests
that this is correct behavior.

Tyler says this can also occur because of a TimedOutException on the writes.  This worries
me because TimedOutExceptions are so frequent (at least for my test cluster), therefore using
quorum reads and writes is not sufficient for consistency.  Any application that wants consistency
needs to have some external way of synchronizing readers and writers so that readers don't
read in the middle of a write or in the writers retry loop.

Does anyone have any intuition about whether this will happen with consistency_level=ALL?
 I will try it today, but I'd like to know what the expected behavior is.  It seems like it
would not happen in this case.

On Apr 17, 2011, at 3:01 PM, William Oberman wrote:

> James: I feel like I understand what's going on in your code now based on this discussion,
and I'm ok with the fact that DURING a QW you can get "transitional" results from a QR in
another process (or either the before or after state of the QW).  But once the QW succeeds,
you must get the new value.  That's what we're all saying now, right?  In your "read, read,
read" case, all 3 reads are happening during a QW, and some of them see the "before" and some
of them see the "after" (that's why I specifically said single threaded, not because it's
a single thread per se, but because a single thread can't read during a write by definition).
> will
> On Sun, Apr 17, 2011 at 1:27 PM, Milind Parikh <> wrote:
> Same process or not: only successful QR reads after successful QW will behave with this
> /***********************
> sent from my android...please pardon occasional typos as I respond @ the speed of thought
> ************************/
>> On Apr 17, 2011 10:04 AM, "James Cipar" <> wrote:
>> > For a second, I thought this thread was saying I could see value(s) < new
value(s) within the same...
>> That's exactly what I'm saying.  Within a single process I see this behavior, when
reading with consistency_level=QUORUM
>> Read value 1
>> Read value 2
>> Read value 1  # uh oh!  we've gone backwards
>> On Apr 17, 2011, at 12:15 PM, William Oberman wrote:
>> > Cool, that is exactly what I was thinkin...
> -- 
> Will Oberman
> Civic Science, Inc.
> 3030 Penn Avenue., First Floor
> Pittsburgh, PA 15201
> (M) 412-480-7835
> (E)

View raw message