You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@druid.apache.org by gi...@apache.org on 2018/07/09 18:23:16 UTC

[incubator-druid] branch 0.12.2 updated: revert lambda conversion to fix occasional jvm error (#5591) (#5961)

This is an automated email from the ASF dual-hosted git repository.

gian pushed a commit to branch 0.12.2
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git


The following commit(s) were added to refs/heads/0.12.2 by this push:
     new b6ca20b  revert lambda conversion to fix occasional jvm error (#5591) (#5961)
b6ca20b is described below

commit b6ca20b95c164fd313f01233bbe57410d0ce3a50
Author: Jihoon Son <ji...@apache.org>
AuthorDate: Mon Jul 9 11:23:13 2018 -0700

    revert lambda conversion to fix occasional jvm error (#5591) (#5961)
---
 .../druid/server/coordinator/DruidCoordinator.java | 91 ++++++++++++----------
 1 file changed, 48 insertions(+), 43 deletions(-)

diff --git a/server/src/main/java/io/druid/server/coordinator/DruidCoordinator.java b/server/src/main/java/io/druid/server/coordinator/DruidCoordinator.java
index b86fc81..4e5bdaa 100644
--- a/server/src/main/java/io/druid/server/coordinator/DruidCoordinator.java
+++ b/server/src/main/java/io/druid/server/coordinator/DruidCoordinator.java
@@ -672,58 +672,63 @@ public class DruidCoordinator
       super(
           ImmutableList.of(
               new DruidCoordinatorSegmentInfoLoader(DruidCoordinator.this),
-              params -> {
-                // Display info about all historical servers
-                Iterable<ImmutableDruidServer> servers = FunctionalIterable
-                    .create(serverInventoryView.getInventory())
-                    .filter(DruidServer::segmentReplicatable)
-                    .transform(DruidServer::toImmutableDruidServer);
-
-                if (log.isDebugEnabled()) {
-                  log.debug("Servers");
-                  for (ImmutableDruidServer druidServer : servers) {
-                    log.debug("  %s", druidServer);
-                    log.debug("    -- DataSources");
-                    for (ImmutableDruidDataSource druidDataSource : druidServer.getDataSources()) {
-                      log.debug("    %s", druidDataSource);
+              new DruidCoordinatorHelper()
+              {
+                @Override
+                public DruidCoordinatorRuntimeParams run(DruidCoordinatorRuntimeParams params)
+                {
+                  // Display info about all historical servers
+                  Iterable<ImmutableDruidServer> servers = FunctionalIterable
+                      .create(serverInventoryView.getInventory())
+                      .filter(DruidServer::segmentReplicatable)
+                      .transform(DruidServer::toImmutableDruidServer);
+
+                  if (log.isDebugEnabled()) {
+                    log.debug("Servers");
+                    for (ImmutableDruidServer druidServer : servers) {
+                      log.debug("  %s", druidServer);
+                      log.debug("    -- DataSources");
+                      for (ImmutableDruidDataSource druidDataSource : druidServer.getDataSources()) {
+                        log.debug("    %s", druidDataSource);
+                      }
                     }
                   }
-                }
 
-                // Find all historical servers, group them by subType and sort by ascending usage
-                final DruidCluster cluster = new DruidCluster();
-                for (ImmutableDruidServer server : servers) {
-                  if (!loadManagementPeons.containsKey(server.getName())) {
-                    LoadQueuePeon loadQueuePeon = taskMaster.giveMePeon(server);
-                    loadQueuePeon.start();
-                    log.info("Created LoadQueuePeon for server[%s].", server.getName());
+                  // Find all historical servers, group them by subType and sort by ascending usage
+                  final DruidCluster cluster = new DruidCluster();
+                  for (ImmutableDruidServer server : servers) {
+                    if (!loadManagementPeons.containsKey(server.getName())) {
+                      LoadQueuePeon loadQueuePeon = taskMaster.giveMePeon(server);
+                      loadQueuePeon.start();
+                      log.info("Created LoadQueuePeon for server[%s].", server.getName());
 
-                    loadManagementPeons.put(server.getName(), loadQueuePeon);
+                      loadManagementPeons.put(server.getName(), loadQueuePeon);
+                    }
+
+                    cluster.add(new ServerHolder(server, loadManagementPeons.get(server.getName())));
                   }
 
-                  cluster.add(new ServerHolder(server, loadManagementPeons.get(server.getName())));
-                }
+                  segmentReplicantLookup = SegmentReplicantLookup.make(cluster);
 
-                segmentReplicantLookup = SegmentReplicantLookup.make(cluster);
+                  // Stop peons for servers that aren't there anymore.
+                  final Set<String> disappeared = Sets.newHashSet(loadManagementPeons.keySet());
+                  for (ImmutableDruidServer server : servers) {
+                    disappeared.remove(server.getName());
+                  }
+                  for (String name : disappeared) {
+                    log.info("Removing listener for server[%s] which is no longer there.", name);
+                    LoadQueuePeon peon = loadManagementPeons.remove(name);
+                    peon.stop();
+                  }
 
-                // Stop peons for servers that aren't there anymore.
-                final Set<String> disappeared = Sets.newHashSet(loadManagementPeons.keySet());
-                for (ImmutableDruidServer server : servers) {
-                  disappeared.remove(server.getName());
+                  return params.buildFromExisting()
+                               .withDruidCluster(cluster)
+                               .withDatabaseRuleManager(metadataRuleManager)
+                               .withLoadManagementPeons(loadManagementPeons)
+                               .withSegmentReplicantLookup(segmentReplicantLookup)
+                               .withBalancerReferenceTimestamp(DateTimes.nowUtc())
+                               .build();
                 }
-                for (String name : disappeared) {
-                  log.info("Removing listener for server[%s] which is no longer there.", name);
-                  LoadQueuePeon peon = loadManagementPeons.remove(name);
-                  peon.stop();
-                }
-
-                return params.buildFromExisting()
-                             .withDruidCluster(cluster)
-                             .withDatabaseRuleManager(metadataRuleManager)
-                             .withLoadManagementPeons(loadManagementPeons)
-                             .withSegmentReplicantLookup(segmentReplicantLookup)
-                             .withBalancerReferenceTimestamp(DateTimes.nowUtc())
-                             .build();
               },
               new DruidCoordinatorRuleRunner(DruidCoordinator.this),
               new DruidCoordinatorCleanupUnneeded(DruidCoordinator.this),


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@druid.apache.org
For additional commands, e-mail: dev-help@druid.apache.org