cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Yeschenko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-8119) More Expressive Consistency Levels
Date Tue, 14 Jun 2016 23:22:30 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-8119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15330854#comment-15330854
] 

Aleksey Yeschenko commented on CASSANDRA-8119:
----------------------------------------------

I've said this elsewhere, and I'll repeat it again, here: this is a niche requirement that
is not worth the complications it's brining to the table. Additionally, you can't really encapsulate
it in a UDF, as there are more factors that are CL-dependent. The behaviour of read repair,
and speculative retry, can/should wary a lot depending on a CL used - and when it doesn't,
we see bugs like CASSANDRA-11980. It could be an interface, though, like [~thorntsg] suggested.
Keeping it this opaque is probably not ideal for the drivers, though.

Also, while you could stick it to schema, I don't see how it's a fit, conceptually, and not
a (conceptually) dirty hack. Sorry. I really believe it shouldn't be done, at least in this
manner.


> More Expressive Consistency Levels
> ----------------------------------
>
>                 Key: CASSANDRA-8119
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8119
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: CQL
>            Reporter: Tyler Hobbs
>             Fix For: 3.x
>
>
> For some multi-datacenter environments, the current set of consistency levels are too
restrictive.  For example, the following consistency requirements cannot be expressed:
> * LOCAL_QUORUM in two specific DCs
> * LOCAL_QUORUM in the local DC plus LOCAL_QUORUM in at least one other DC
> * LOCAL_QUORUM in the local DC plus N remote replicas in any DC
> I propose that we add a new consistency level: CUSTOM.  In the v4 (or v5) protocol, this
would be accompanied by an additional map argument.  A map of {DC: CL} or a map of {DC: int}
is sufficient to cover the first example.  If we accept a special keys to represent "any datacenter",
the second case can be handled.  A similar technique could be used for "any other nodes".
> I'm not in love with the special keys, so if anybody has ideas for something more elegant,
feel free to propose them.  The main idea is that we want to be flexible enough to cover any
reasonable consistency or durability requirements.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message