cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-5062) Support CAS
Date Sat, 23 Mar 2013 01:41:16 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-5062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13611519#comment-13611519
] 

Jonathan Ellis commented on CASSANDRA-5062:
-------------------------------------------

I've posted a draft of a CAS method to https://github.com/jbellis/cassandra/commits/5062 following
the outline I posted (way, way) above.

Stuff that is missing:
- We probably want to support passing CL.SERIAL to reads, to allow asking "What happened to
the CAS operation I just tried, but then the coordinator died before replying to me?"  This
would just do the prepare phase, and finish any in-progress updates, before performing a quorum
read.
- May want to allow passing a CL to CAS to specify how many replicas you want to ack the commit
before returning.
- Any form of CQL support
- Any testing

                
> Support CAS
> -----------
>
>                 Key: CASSANDRA-5062
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5062
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: API, Core
>            Reporter: Jonathan Ellis
>             Fix For: 2.0
>
>         Attachments: half-baked commit 1.jpg, half-baked commit 2.jpg, half-baked commit
3.jpg
>
>
> "Strong" consistency is not enough to prevent race conditions.  The classic example is
user account creation: we want to ensure usernames are unique, so we only want to signal account
creation success if nobody else has created the account yet.  But naive read-then-write allows
clients to race and both think they have a green light to create.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message