From 8e4fba431c2fa39f02c3a9915fcbf68cb4176268 Mon Sep 17 00:00:00 2001 From: Dhruv Parthasarathy Date: Thu, 25 Jul 2013 14:37:03 -0700 Subject: [PATCH] moved profiler --- .../druid/master/RandomBalancerStrategy.java | 5 ++++- .../druid/master/ReservoirSegmentSampler.java | 16 ---------------- .../DruidMasterBalancerProfiler.java | 10 +++++++++- 3 files changed, 13 insertions(+), 18 deletions(-) rename server/src/test/java/com/metamx/druid/{master => utils}/DruidMasterBalancerProfiler.java (92%) diff --git a/server/src/main/java/com/metamx/druid/master/RandomBalancerStrategy.java b/server/src/main/java/com/metamx/druid/master/RandomBalancerStrategy.java index 7a9ca5404da..45fcb716e6f 100644 --- a/server/src/main/java/com/metamx/druid/master/RandomBalancerStrategy.java +++ b/server/src/main/java/com/metamx/druid/master/RandomBalancerStrategy.java @@ -22,7 +22,9 @@ package com.metamx.druid.master; import com.google.common.collect.Lists; import com.metamx.druid.client.DataSegment; +import java.util.ArrayList; import java.util.List; +import java.util.Random; public class RandomBalancerStrategy implements BalancerStrategy { @@ -33,7 +35,8 @@ public class RandomBalancerStrategy implements BalancerStrategy DataSegment proposalSegment, Iterable serverHolders ) { - return sampler.getRandomServerHolder(Lists.newArrayList(serverHolders)); + ArrayList serverHoldersList = Lists.newArrayList(serverHolders); + return serverHoldersList.get(new Random().nextInt(serverHoldersList.size())); } @Override diff --git a/server/src/main/java/com/metamx/druid/master/ReservoirSegmentSampler.java b/server/src/main/java/com/metamx/druid/master/ReservoirSegmentSampler.java index 4f75c4fd9f4..8ac2d949d5a 100644 --- a/server/src/main/java/com/metamx/druid/master/ReservoirSegmentSampler.java +++ b/server/src/main/java/com/metamx/druid/master/ReservoirSegmentSampler.java @@ -47,20 +47,4 @@ public class ReservoirSegmentSampler } return new BalancerSegmentHolder(fromServerHolder.getServer(), proposalSegment); } - - - public ServerHolder getRandomServerHolder(final List serverHolders) - { - ServerHolder serverHolder = null; - int numSoFar = 0; - for (ServerHolder server : serverHolders) { - int randNum = rand.nextInt(numSoFar + 1); - - if (randNum == numSoFar) { - serverHolder = server; - } - numSoFar++; - } - return serverHolder; - } } diff --git a/server/src/test/java/com/metamx/druid/master/DruidMasterBalancerProfiler.java b/server/src/test/java/com/metamx/druid/utils/DruidMasterBalancerProfiler.java similarity index 92% rename from server/src/test/java/com/metamx/druid/master/DruidMasterBalancerProfiler.java rename to server/src/test/java/com/metamx/druid/utils/DruidMasterBalancerProfiler.java index 003f34acb5a..dc9cc01fabb 100644 --- a/server/src/test/java/com/metamx/druid/master/DruidMasterBalancerProfiler.java +++ b/server/src/test/java/com/metamx/druid/utils/DruidMasterBalancerProfiler.java @@ -1,4 +1,4 @@ -package com.metamx.druid.master; +package com.metamx.druid.utils; import com.google.common.base.Stopwatch; import com.google.common.collect.ImmutableMap; @@ -7,6 +7,14 @@ import com.google.common.collect.Maps; import com.google.common.collect.MinMaxPriorityQueue; import com.metamx.druid.client.DataSegment; import com.metamx.druid.client.DruidServer; +import com.metamx.druid.master.DruidCluster; +import com.metamx.druid.master.DruidMaster; +import com.metamx.druid.master.DruidMasterBalancerTester; +import com.metamx.druid.master.DruidMasterRuntimeParams; +import com.metamx.druid.master.LoadPeonCallback; +import com.metamx.druid.master.LoadQueuePeon; +import com.metamx.druid.master.LoadQueuePeonTester; +import com.metamx.druid.master.ServerHolder; import com.metamx.druid.shard.NoneShardSpec; import org.easymock.EasyMock; import org.joda.time.DateTime;