[ 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