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

Jonathan Ellis commented on CASSANDRA-5442:
-------------------------------------------

I don't think this is as simple as it looks at first.  Suppose we specify 
CL.ALL and a node is down.  That implies we should throw WriteTimedOutException 
-- but which part of the write is it that timed out?  I.e., how does the caller 
know it was the commit that timed out, and not an earlier stage of Paxos?

In this example a sufficiently smart client could examine the exception and 
notice that we were requiring all replicas, and commit is the only part of 
Paxos that could do that.  But what if we had CL.QUORUM and timed out on 
commit?  Now this looks like any other time out, and there's nothing that tells 
the caller that the proposal was accepted by a majority (and thus will be 
visible to the next CAS round or reads at CL.SERIAL).
                
> Add support for specifying CAS commit CL
> ----------------------------------------
>
>                 Key: CASSANDRA-5442
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5442
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API, Core
>            Reporter: Jonathan Ellis
>             Fix For: 2.0
>
>


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