Details
-
New Feature
-
Status: Open
-
Normal
-
Resolution: Unresolved
-
None
Description
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.
Attachments
Issue Links
- is duplicated by
-
CASSANDRA-16773 Consistency Level ALL_MINUS_ONE
- Resolved
-
CASSANDRA-6390 Add LOCAL_QUORUM+N consistency
- Resolved
-
CASSANDRA-7877 Tunable consistency across multiple datacenters - LOCAL_QUORUM + quorum at 1 out of N other DCs
- Resolved
- is related to
-
CASSANDRA-7642 Adaptive Consistency
- Resolved
-
CASSANDRA-2338 C* consistency level needs to be pluggable
- Resolved
-
CASSANDRA-13645 Optimize the number of replicas required in Quorum read/write
- Open
- relates to
-
CASSANDRA-13315 Semantically meaningful Consistency Levels
- Open