Have you read this post? http://ria101.wordpress.com/2010/05/12/locking-and-transactions-over-cassandra-using-cages/ I guess, you will like it.
2010/6/22 Rishi Bhardwaj <khichri...@yahoo.com> > 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 <sri...@malhar.net> > To: dev@cassandra.apache.org > 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? > > > >