[
https://issues.apache.org/jira/browse/CASSANDRA-952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12854010#action_12854010
]
Jonathan Ellis commented on CASSANDRA-952:
------------------------------------------
The fundamental problem here is that an int count of replicas to block for is
not sufficient to represent the DC strategy wants: we want to SEND to all
replicas, but only count replicas in the CURRENT DC towards success. Allowing
other DC replicas will mostly work, since they will typically be slower to
arrive than local ones, but if there are failure conditions locally then it
could succeed where it should not, which would violate its contract to readers.
I think you will need to push the concept of what to block for into the
WriteResponseHandler, and similarly for reads.
> DC Quorum broken @ trunk
> ------------------------
>
> Key: CASSANDRA-952
> URL: https://issues.apache.org/jira/browse/CASSANDRA-952
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6
> Environment: Linux, Cassandra
> Reporter: Vijay
> Assignee: Vijay
> Priority: Minor
> Fix For: 0.7, 0.8
>
> Attachments: 952-Change_BlockFor.txt, 952-Fix_Refactor_DCStatergy.txt
>
>
> Currently DCQuorum is broken in trunk, Suggesting the following fix...
> Write to DC's
> 1) Move determineBlockFor(int expandedTargets, ConsistencyLevel
> consistency_level) to AbstractEndpointSnitch
> 2) Add the same to support DC Quorum in DatacenterShardStategy
> Read to DC's
> 1) find suitable nodes was a list which was returning a list of local DC's
> earlier but now it is just one node and MD is been sent by other nodes. Need
> to have an option to even avoid MD from other DC's?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.