[
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