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

Sergio Bossa commented on CASSANDRA-5062:
-----------------------------------------

{quote}Sergio, the reason to go beyond pure Paxos by turning Learn into Commit 
is twofold:
To allow a fresh start for a new round of CAS; otherwise, each new proposal is 
stuck re-issuing the first accepted value
To move the data from the Paxos "maybe it's accepted but we don't know until we 
get a majority" limbo into a normal sstable cell{quote}

Yes, I get why it's there, I'm just not sure it's actually needed (which may 
well be due to my limited knowledge of hardcore C* internals, in particular 
around HH, RR and AE).

By the way, I don't have enough time to do any more meaningful contributions to 
this ticket, so I'm backing off: it is in good hands anyways :)
                
> 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

Reply via email to