[jira] [Updated] (CASSANDRA-7774) CqlRecordReader creates wrong cluster if the first replica of a split is down
[ 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)
[jira] [Updated] (CASSANDRA-7774) CqlRecordReader creates wrong cluster if the first replica of a split is down
[ https://issues.apache.org/jira/browse/CASSANDRA-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jacek Lewandowski updated CASSANDRA-7774: - Attachment: CASSANDRA-7774-patch-v2.patch 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)
[jira] [Updated] (CASSANDRA-7774) CqlRecordReader creates wrong cluster if the first replica of a split is down
[ https://issues.apache.org/jira/browse/CASSANDRA-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jacek Lewandowski updated CASSANDRA-7774: - Remaining Estimate: (was: 24h) Original Estimate: (was: 24h) 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)
[jira] [Updated] (CASSANDRA-7774) CqlRecordReader creates wrong cluster if the first replica of a split is down
[ https://issues.apache.org/jira/browse/CASSANDRA-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jacek Lewandowski updated CASSANDRA-7774: - Attachment: 0001-CASSANDRA-7774-Fixed-cluster-initialisation-for-a-sp.patch 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 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)
[jira] [Updated] (CASSANDRA-7774) CqlRecordReader creates wrong cluster if the first replica of a split is down
[ https://issues.apache.org/jira/browse/CASSANDRA-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jacek Lewandowski updated CASSANDRA-7774: - Description: 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. was: 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. 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 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)
[jira] [Updated] (CASSANDRA-7774) CqlRecordReader creates wrong cluster if the first replica of a split is down
[ https://issues.apache.org/jira/browse/CASSANDRA-7774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremiah Jordan updated CASSANDRA-7774: --- Reviewer: Alex Liu 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 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)