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

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

this looks wrong to me:

bq. tmd.getWriteEndpoints(..., Command.WRITE)

of course "getWriteEndpoints" deals with Writes.  so we must have changed the 
meaning of getWriteEndpoints.

bq. strategy.getNaturalEndpoints(..., Command.WRITE)

The different classes of endpoints are these:

- natural endpoints are the endpoints that the Strategy wants to place the 
replicas on, and will be checked for reads
- write endpoints are the natural endpoints, with the addition of endpoints 
that are part of "pending ranges" -- nodes that will assume a range when a move 
or bootstrap completes
- hinted endpoints are write endpoints modified to remove nodes that are down 
and inform StorageProxy what hints to tag to the live ones, if any

I don't see how any of these should depend on doing a write (in write and 
hinted case, they only make sense at all on writes).

> 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