[ 
https://issues.apache.org/jira/browse/CASSANDRA-1664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12934096#action_12934096
 ] 

Jonathan Ellis commented on CASSANDRA-1664:
-------------------------------------------

The right way to do this is is at the responsehandler level.  Changing the 
semantics of the get*endpoint methods is not the way to go.

For EACH_QUORUM I think we'll need a new ResponseHandler class, but for 
LOCAL_QUORUM I don't think that's necessary.  I would recommend moving the 
Message creation + sending code from StorageProxy.strongRead into a QRH method. 
 Then, all you need to do is pass the [live] natural endpoints list to the 
AbstractReplicationStrategy.getQuorumResponseHandler call, which could strip 
out replicas not in the local DC for CL.LOCAL_QUORUM.

> NetworkTopologyStrategy + DCQUORUM
> ----------------------------------
>
>                 Key: CASSANDRA-1664
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1664
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7 beta 1
>         Environment: Linux 2.6.18
> JVM 6b11
>            Reporter: ivan
>             Fix For: 0.7.1
>
>         Attachments: 1664_v2.txt, ntrs.patch
>
>
> We experience TSocket: timed out reading expections randomly using DCQUORUM.
> In log we see that sometimes responses are not sent to client.
> Read requests are sent to all cluster members instead of member of a DC.
> Attached patch adds a new commandType argument to *NaturalEndpoint methods.
> It's needed to separate endpoint list for read and write commands, so for 
> read requests endpoint list will contain servers in local DC.
> For write requests endpoints provided in all DCs.
> In DatacenterQuorumResponseHandler.response signal is not sent in some cases.
> (In this case we experienced timed out reading exceptions.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to