From b205f7b3c46190075162a7a7a4133e65c49b75dc Mon Sep 17 00:00:00 2001 From: Nelson Ray Date: Tue, 29 Jan 2013 18:16:34 -0800 Subject: [PATCH] use existing currentlyMovingSegments instead of creating a reundant segmentsBeingMoved --- .../java/com/metamx/druid/master/DruidMasterBalancer.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/server/src/main/java/com/metamx/druid/master/DruidMasterBalancer.java b/server/src/main/java/com/metamx/druid/master/DruidMasterBalancer.java index f2a4ffeff44..a48073e121f 100644 --- a/server/src/main/java/com/metamx/druid/master/DruidMasterBalancer.java +++ b/server/src/main/java/com/metamx/druid/master/DruidMasterBalancer.java @@ -116,15 +116,13 @@ public class DruidMasterBalancer implements DruidMasterHelper continue; } - final Set segmentsBeingMoved = new HashSet(); int iter = 0; while (iter < maxSegmentsToMove) { BalancerSegmentHolder segmentToMove = analyzer.pickSegmentToMove(serverHolderList, numSegments); DruidServer toServer = analyzer.findNewSegmentHome(segmentToMove.getSegment(), serverHolderList).getServer(); - if (!segmentsBeingMoved.contains(segmentToMove.getSegment())) { + if (!currentlyMovingSegments.get(tier).containsKey(segmentToMove.getSegment())) { moveSegment(segmentToMove, toServer, params); - segmentsBeingMoved.add(segmentToMove.getSegment()); } iter++; } @@ -135,13 +133,13 @@ public class DruidMasterBalancer implements DruidMasterHelper stats.addToTieredStat("initialCost", tier, (long) initialTotalCost); stats.addToTieredStat("normalization", tier, (long) normalization); - stats.addToTieredStat("movedCount", tier, segmentsBeingMoved.size()); + stats.addToTieredStat("movedCount", tier, currentlyMovingSegments.get(tier).size()); log.info( "Initial Total Cost: [%f], Initial Normalized Cost: [%f], Segments Moved: [%d]", initialTotalCost, normalizedInitialCost, - segmentsBeingMoved.size() + currentlyMovingSegments.get(tier).size() ); if (serverHolderList.size() <= 1) {