[ https://issues.apache.org/jira/browse/CASSANDRA-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14099140#comment-14099140 ]
Jacek Lewandowski commented on CASSANDRA-7774: ---------------------------------------------- Created PR https://github.com/apache/cassandra/pull/41 > CqlRecordReader creates wrong cluster if the first replica of a split is down > ----------------------------------------------------------------------------- > > Key: CASSANDRA-7774 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7774 > Project: Cassandra > Issue Type: Bug > Components: Hadoop > Reporter: Jacek Lewandowski > Assignee: Jacek Lewandowski > > For a given split, {{CqlRecordReader}} gets a list of replicas of that split. > Then, it tries to create a Cluster object with a ClusterBuilder for each > replica separately in a loop, so that if the cluster creation fails for a > certain replica, the next replica is tried. Unfortunately it does not work, > because the cluster creation does not fail if the provided contact point is > down. So, it always selects the first replica regardless of its state. > The solution is quite simple - {{ClusterBuilder}} accepts a collection of > contact points - at least one of them must be up. So instead of iterating > over the replicas we can pass the whole set of them and the driver will > select the working one. It will follow some changes in the load balancing > policy - I'm going to switch to use the same balancing policy as we use in > OSS Spark Connector. -- This message was sent by Atlassian JIRA (v6.2#6252)