[ 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