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 Feb 2013 02:44:14 GMT

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

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

Paxos actually addresses this problem nicely.  The key thing that Paxos does that 2PC/3PC
do not is, after accepting a proposal, participants will reply to future proposals from any
coordinator with the highest-numbered (i.e., most recent) accepted proposal, which the coordinator
will then resume progress on.  Thus, partitions cannot cause multiple operations to succeed
independently.  

In our example, A and at least one of {B,C} have accepted the original proposal.  On partition,
a new coordinator must have both B and C accept a new proposal for it to succeed, and thus
will get a reply containing A's value.  The new coordinator must then commit A's value.

                
> 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
>
>
> "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