[
https://issues.apache.org/jira/browse/CASSANDRA-3172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13102068#comment-13102068
]
Mark Guzman commented on CASSANDRA-3172:
----------------------------------------
CL.TWO doesn't give you consistency depending on the RF right? This is pushing
an operation I would be doing on the client up to the server. If I receive an
UnavailableException, I would retry with another datacenter. My intent is to
move that logic into the coordinator where we can remove the round trip for the
UnavailableException and make smarter choices about what dc to try next.
Given datacenters A, B and C with A being my local DC. I'd want to write/read
from DC A if possible, if we don't have enough nodes to form a quorum within
that DC I'd want to bounce to the next DC always favoring a quorum based on RF
instead of falling back to CL.TWO or CL.ONE which don't offer similar
consistency behavior.
> Add CL.ANY_QUORUM to support quorum requests with cross datacenter failover
> ---------------------------------------------------------------------------
>
> Key: CASSANDRA-3172
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3172
> Project: Cassandra
> Issue Type: Improvement
> Components: API, Core
> Reporter: Mark Guzman
> Priority: Minor
>
> Currently we provide CL.LOCAL_QUORUM and CL.EACH_QUORUM. CL.ANY_QUORUM would
> operate like CL.LOCAL_QUORUM if a local quorum is possible, if it is not the
> coordinator would use its knowledge to select the "fastest/closest" node in
> another datacenter to attempt another LOCAL_QUORUM in. This would allow for
> simple reliable cross datacenter failover without putting the intelligence in
> the client. The client is intrinsically at a disadvantage since it doesn't
> have a current full picture of the rings.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira