cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] Commented: (CASSANDRA-952) DC Quorum broken @ trunk
Date Tue, 06 Apr 2010 14:48:34 GMT


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:
>             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
> 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.

View raw message