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

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

bq. it feels to me that having one paxos state per row is more "natural"

All right.  Done and pushed.

bq. I think that we may want to TTL the Paxos state

Hmm, not sure where to fit this in.  We store gcgs in the schema, but system 
tables are not user-modifiable (and even if they were, this one is node-local). 
 I guess we could add a global config setting, which doesn't thrill me.

bq. the current patch can get in a state where for a row no CAS operation on 
that row can be done at all (they will all UAE) until the user does a manual 
repair, because if less than a quorum of replica have received the last MRC 
commit message

I must be missing something, because that's by design -- this sounds exactly 
like what we discussed to preserve correctness. "On result of the prepare, we 
would wait for a quorum of people agreeing on the last MRC (i.e. a quorum has 
learn the last value) before allowing to proceed with our own 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
>
>         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