Jacek Lewandowski created CASSANDRA-7774:
--------------------------------------------

             Summary: 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)

Reply via email to