[ https://issues.apache.org/jira/browse/CASSANDRA-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14102139#comment-14102139 ]
Jacek Lewandowski commented on CASSANDRA-7774: ---------------------------------------------- [~alexliu68] could you review version 2? > 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 > Attachments: > 0001-CASSANDRA-7774-Fixed-cluster-initialisation-for-a-sp.patch, > CASSANDRA-7774-patch-v2.patch > > > 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- similar balancing policy -as- > to the one we use in OSS Spark Connector. -- This message was sent by Atlassian JIRA (v6.2#6252)