Fix Version/s: None
There are a few occasionally requested patterns requested for consistency level that are not currently supported by Cassandra, and given the sentiment that the most general solution (
CASSANDRA-2338) is unlikely to ever make sense, I'd like to propose the implementation of at least one additional consistency level.
The specific request that I hear about the most often is to achieve local consistency while still ensuring at least one off-site copy.
Ideally this could be specified as LOCAL_QUORUM + N, where N could range from 1 to non-local-DC RF.
The challenge in implementing this simply today is that the cql protocol and the drivers assume that CL is an enum, and you can't make the general case of this feature an enum.
However, it could be quite reasonable to special case LQ+ONE, LQ+TWO, and LQ+THREE if it would be prohibitive to change the protocol and drivers.
For completeness, I'll mention that if it were easy, I would love to also see per-DC CL (so you could do stupid things like (DC1=LQ,DC2=1), but this ticket is not about that, and there is no obvious way to fit that into the current approach.