[ 
https://issues.apache.org/jira/browse/CASSANDRA-5797?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-5797:
----------------------------------------

    Attachment: 0003-CQL-and-native-protocol-changes.txt
                0002-Add-LOCAL_SERIAL-CL.txt
                0001-Thrift-generated-files.txt

Attaching patch for this. I've currently stayed with the idea of 2 CL for 
writes. One small reason for which it is somewhat convenient is that when we 
throw a write timeout exception, we need to ship the consistency level. And 
when that timeout happens during the paxos prepare/propose phases, returning 
CL.SERIAL or CL.LOCAL_SERIAL make the most sense, so using CL as argument of 
the method in the first place is somewhat consistent. Anyway, it's certainly 
possible to add a new enum for that instead, but I don't think that' too 
horrible as is.

There's 3 patches: the first one is just the update to the thrift generated 
files and can be largely ignored. The 2nd one does the main change but does not 
change CQL. The 3rd patch is the CQL and native protocol change. That latter 
patch is a tad big because while adding the new "serial consistency level", I 
realized this was a pain with the current code and that in the protocol v2, 
QUERY and EXECUTE had basically the same parameters but they were set out in 
different order (in the protocol) which was killing all possibility of code 
reuse for no good reason. So I decided to go ahead and refactor that more 
cleanly since there's no point in making the life of client implementors harder 
for no good reason.

Anyway, moving this issue to 2.0.0 because it changes the native protocol and 
thrift, so we really should have it in 2.0.

                
> DC-local CAS
> ------------
>
>                 Key: CASSANDRA-5797
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5797
>             Project: Cassandra
>          Issue Type: Bug
>          Components: API
>    Affects Versions: 2.0
>            Reporter: Jonathan Ellis
>            Assignee: Sylvain Lebresne
>            Priority: Minor
>             Fix For: 2.0.1
>
>         Attachments: 0001-Thrift-generated-files.txt, 
> 0002-Add-LOCAL_SERIAL-CL.txt, 0003-CQL-and-native-protocol-changes.txt
>
>
> For two-datacenter deployments where the second DC is strictly for disaster 
> failover, it would be useful to restrict CAS to a single DC to avoid cross-DC 
> round trips.
> (This would require manually truncating {{system.paxos}} when failing over.)

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