cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-5797) DC-local CAS
Date Thu, 25 Jul 2013 12:51:50 GMT

     [ 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

Mime
View raw message