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

Aleksey Yeschenko commented on CASSANDRA-16545:
-----------------------------------------------

+1

> Cluster topology change may produce false unavailable for queries
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-16545
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16545
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Consistency/Coordination
>            Reporter: Yifan Cai
>            Assignee: Yifan Cai
>            Priority: Normal
>             Fix For: 4.0-rc2
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> When the coordinator processes a query, it first gets the 
> {{ReplicationStrategy}} (RS) from the keyspace to decide the peers to 
> contact. Again, it gets the RS to perform the liveness check for the 
> requested CL. 
> The RS is a volatile filed in Keyspace, and it is possible that those 2 
> getter calls return different RS values in the presence of cluster topology 
> changes, e.g. add a node, etc. 
> In such scenario, the check at the second step can throw an unexpected 
> unavailable. From the perspective of the query, the cluster can satisfy the 
> CL. 
> We should use a consistent view of RS during the peer selection and CL 
> liveness check. In other word, both steps should reference to the same RS 
> object. It is also more clear and easier to reason about to the clients. Such 
> queries are made before the topology change. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to