Randomize batchlog candidates selection patch by Aleksey Yeschenko; reviewed by Jonathan Ellis for CASSANDRA-6481
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f7f7598a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f7f7598a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f7f7598a Branch: refs/heads/cassandra-2.0 Commit: f7f7598a20e20ff3c4ee8e0e5b425680a480d9e0 Parents: 6ab82a4 Author: Aleksey Yeschenko <alek...@apache.org> Authored: Thu Dec 12 20:53:58 2013 +0300 Committer: Aleksey Yeschenko <alek...@apache.org> Committed: Thu Dec 12 20:53:58 2013 +0300 ---------------------------------------------------------------------- CHANGES.txt | 1 + src/java/org/apache/cassandra/service/StorageProxy.java | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f7f7598a/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 6f5f23b..fa48a27 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -16,6 +16,7 @@ (CASSANDRA-6413) * (Hadoop) add describe_local_ring (CASSANDRA-6268) * Fix handling of concurrent directory creation failure (CASSANDRA-6459) + * Randomize batchlog candidates selection (CASSANDRA-6481) 1.2.12 http://git-wip-us.apache.org/repos/asf/cassandra/blob/f7f7598a/src/java/org/apache/cassandra/service/StorageProxy.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java index f195285..3e9f2cb 100644 --- a/src/java/org/apache/cassandra/service/StorageProxy.java +++ b/src/java/org/apache/cassandra/service/StorageProxy.java @@ -447,8 +447,7 @@ public class StorageProxy implements StorageProxyMBean if (candidates.size() > 2) { - IEndpointSnitch snitch = DatabaseDescriptor.getEndpointSnitch(); - snitch.sortByProximity(FBUtilities.getBroadcastAddress(), candidates); + Collections.shuffle(candidates); candidates = candidates.subList(0, 2); }