cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rishi Bhardwaj <>
Subject Re: Atomic Compare and Swap
Date Mon, 21 Jun 2010 17:59:45 GMT
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.


From: Sriram Srinivasan <>
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