[ 
https://issues.apache.org/jira/browse/CASSANDRA-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jeremiah Jordan updated CASSANDRA-7774:
---------------------------------------

    Fix Version/s: 2.0.10

> 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
>             Fix For: 2.0.10
>
>         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)

Reply via email to