[
https://issues.apache.org/jira/browse/CASSANDRA-2338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13007530#comment-13007530
]
Eric Evans commented on CASSANDRA-2338:
---------------------------------------
AIUI, the reasoning behind the ConsistencyLevel enum was to simply things, to
codify best practice and make it easier for people to understand and do the
Right Thing. In other words, sacrifice some flexibility in exchange for
usability. For this to work, the Right Answer in situations like this is to
tweak the RF knob to work with the available consistency options.
If consensus is that this trade-off is wrong (usability vs flexibility), then
the reasonable thing to do is eliminate ConsistencyLevel in favor of an int.
LOCAL_QUORUM_PLUS_ONE_REMOTE is a Bad Idea IMO, so is TWO and THREE.
> C* needs a LOCAL_QUORUM_PLUS_ONE_REMOTE consistency level
> ---------------------------------------------------------
>
> Key: CASSANDRA-2338
> URL: https://issues.apache.org/jira/browse/CASSANDRA-2338
> Project: Cassandra
> Issue Type: New Feature
> Reporter: Matthew F. Dennis
> Priority: Minor
>
> for cases where people want to run C* across multiple DCs for disaster
> recovery et cetera where normal operations only happen in the first DC (e.g.
> no writes/reads happen in the remove DC under normal operation) neither
> LOCAL_QUORUM or EACH_QUORUM really suffices.
> Consider the case with RF of DC1:3 DC2:2
> LOCAL_QUORUM doesn't provide any guarantee that data is in the remote DC.
> EACH_QUORUM requires that both nodes in the remote DC are up.
> It would be useful in some situations to be able to specify a LOCAL_QUORUM
> (for local consistency) + "at least one remote" for durability/disaster
> proofing.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira