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

Andres de la Peña commented on CASSANDRA-16545:
-----------------------------------------------

[~yifanc] overall the approach looks good to me, I have left some comments in 
the PR. The CI failures in {{ReadRepairTest}} can be fixed [this 
way|https://github.com/apache/cassandra/pull/954#discussion_r609865746]. I have 
also run the new {{AssureSufficientLiveNodesTest}} (which is a nice test) is 
our internal test multiplexer some few hundred times.

> 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-beta
>
>          Time Spent: 20m
>  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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to