From 8978d3751b9fbc0fdc304368feec8d39dd7308b9 Mon Sep 17 00:00:00 2001 From: Roman Leventov Date: Wed, 26 Sep 2018 19:14:14 +0300 Subject: [PATCH] Don't convert DruidServer to ImmutableDruidServers multiple times in CoordinatorHistoricalManagerRunnable (#6385) --- .../server/coordinator/DruidCoordinator.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/server/src/main/java/org/apache/druid/server/coordinator/DruidCoordinator.java b/server/src/main/java/org/apache/druid/server/coordinator/DruidCoordinator.java index 1589c1cee54..6e11833c950 100644 --- a/server/src/main/java/org/apache/druid/server/coordinator/DruidCoordinator.java +++ b/server/src/main/java/org/apache/druid/server/coordinator/DruidCoordinator.java @@ -29,6 +29,10 @@ import com.google.common.collect.Sets; import com.google.common.util.concurrent.ListeningExecutorService; import com.google.common.util.concurrent.MoreExecutors; import com.google.inject.Inject; +import it.unimi.dsi.fastutil.objects.Object2LongMap; +import it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap; +import org.apache.curator.framework.CuratorFramework; +import org.apache.curator.utils.ZKPaths; import org.apache.druid.client.DruidDataSource; import org.apache.druid.client.DruidServer; import org.apache.druid.client.ImmutableDruidDataSource; @@ -50,7 +54,6 @@ import org.apache.druid.java.util.common.concurrent.Execs; import org.apache.druid.java.util.common.concurrent.ScheduledExecutorFactory; import org.apache.druid.java.util.common.concurrent.ScheduledExecutors; import org.apache.druid.java.util.common.guava.Comparators; -import org.apache.druid.java.util.common.guava.FunctionalIterable; import org.apache.druid.java.util.common.lifecycle.LifecycleStart; import org.apache.druid.java.util.common.lifecycle.LifecycleStop; import org.apache.druid.java.util.emitter.EmittingLogger; @@ -71,10 +74,6 @@ import org.apache.druid.server.coordinator.rules.Rule; import org.apache.druid.server.initialization.ZkPathsConfig; import org.apache.druid.server.lookup.cache.LookupCoordinatorManager; import org.apache.druid.timeline.DataSegment; -import it.unimi.dsi.fastutil.objects.Object2LongMap; -import it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap; -import org.apache.curator.framework.CuratorFramework; -import org.apache.curator.utils.ZKPaths; import org.joda.time.DateTime; import org.joda.time.Duration; import org.joda.time.Interval; @@ -697,13 +696,15 @@ public class DruidCoordinator ImmutableList.of( new DruidCoordinatorSegmentInfoLoader(DruidCoordinator.this), params -> { - // Display info about all historical servers - Iterable servers = FunctionalIterable - .create(serverInventoryView.getInventory()) + List servers = serverInventoryView + .getInventory() + .stream() .filter(DruidServer::segmentReplicatable) - .transform(DruidServer::toImmutableDruidServer); + .map(DruidServer::toImmutableDruidServer) + .collect(Collectors.toList()); if (log.isDebugEnabled()) { + // Display info about all historical servers log.debug("Servers"); for (ImmutableDruidServer druidServer : servers) { log.debug(" %s", druidServer);