[
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