Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b106851

Browse files
committed
Merge pull request evseevnn-zz#15 from evseevnn/hotfix-connect-with-auth
[*] fix auth
2 parents 3a659ef + 70cf4ba commit b106851

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

Cassandra/Cluster.php

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,26 +31,20 @@ public function appendNode($host) {
3131
*/
3232
public function getRandomNode() {
3333
if (empty($this->nodes)) throw new ClusterException('Node list is empty.');
34-
shuffle($this->nodes);
35-
while(!empty($this->nodes)) {
36-
$host = end($this->nodes);
37-
try {
38-
if ((array)$host === $host) {
39-
$nodeKey = key($this->nodes);
40-
$node = new Node($nodeKey, $host);
41-
unset($this->nodes[$nodeKey]);
42-
} else {
43-
$node = new Node($host);
44-
unset($this->nodes[$host]);
45-
}
46-
break;
47-
} catch (\InvalidArgumentException $e) {
48-
trigger_error($e->getMessage());
34+
$nodeKey = array_rand($this->nodes);
35+
$node = $this->nodes[$nodeKey];
36+
try {
37+
if ((array)$node === $node) {
38+
$node = new Node($nodeKey, $node);
39+
unset($this->nodes[$nodeKey]);
40+
} else {
41+
$node = new Node($nodeKey);
42+
unset($this->nodes[$nodeKey]);
4943
}
44+
} catch (\InvalidArgumentException $e) {
45+
trigger_error($e->getMessage());
5046
}
5147

52-
if (empty($node)) throw new \InvalidArgumentException('Incorrect connection parameters for all nodes.');
53-
5448
return $node;
5549
}
5650
}

0 commit comments

Comments
 (0)