incubator-cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rauan Maemirov <>
Subject Re: Atomic Compare and Swap
Date Mon, 21 Jun 2010 18:27:02 GMT
Have you read this post?
I guess, you will like it.

2010/6/22 Rishi Bhardwaj <>

> I am definitely interested in taking this work up. I believe the CAS
> functionality would help in a lot of different scenarios and could help
> avoid use of other external services (like zookeeper) to provide similar
> functionality. I am new at Cassandra development and would really appreciate
> pointers from the dev. community about how to approach/start on this
> project. Also how feasible is the approach mentioned below to implement the
> CAS functionality? It would be great if we could have a discussion on the
> pros and cons.
> Thanks,
> Rishi
> ________________________________
> From: Sriram Srinivasan <>
> To:
> Sent: Sun, June 20, 2010 9:47:37 PM
> Subject: Re: Atomic Compare and Swap
> I too am interested in a CAS facility.
> I like Rishi's proposal. One could simply use a version number as the
> logical timestamp. If we promote CAS to a consistency level, it would rate
> higher than a quorum. One pays the price for a more complex write path to
> obtain the requisite guarantee.
> On Jun 21, 2010, at 4:03 AM, Rishi Bhardwaj wrote:
> >
> > Heres another thought I had, if say the user always wrote with quorum (or
> to all) nodes then can't we implement CAS (compare and swap) assuming that
> user employs logical timestamp and Cassandra doesn't allow writes to a
> column with same or older timestamp. Here's the scenario I am thinking
> about:
> > Say we use logical timestamp for a column value and lets assume the
> current timestamp is t. Now say two clients read this column and generate
> concurrent CAS (compare and swap) operations on timestamp t and for both the
> writes the resulting new timestamp would become (t+1). Now if we don't allow
> writes to a column with same timestamp then only one of these writes would
> succeed. Of course another assumption is that if a third CAS write with
> compare on logical timestamp (t - 1) came in, that would be denied as I
> believe Cassandra doesn't allow "older" writes to win over "newer" writes.
> Do you think such a thing can be accomplished?

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message