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