diff options
author | Valerij Fredriksen <valerijf@oath.com> | 2017-09-25 12:41:27 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@oath.com> | 2017-09-25 12:41:27 +0200 |
commit | 77dacd5d9c88c7d1b1e2143df84205bbf04bdfd5 (patch) | |
tree | 6042b4b048d91b4fa2ce356f7a9d9a3513c09a51 /node-admin | |
parent | 62ef15bbe0430e989b61048a3ab69a5bf281c0af (diff) |
Start NodeAdmin schedulers in start()
Diffstat (limited to 'node-admin')
3 files changed, 23 insertions, 12 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java index cf70963eee1..6bc3b6d2a46 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdmin.java @@ -60,6 +60,11 @@ public interface NodeAdmin { Map<String, Object> debugInfo(); /** + * Start node-admin schedulers. + */ + void start(); + + /** * Stop the NodeAgent. Will not delete the storage or stop the container. */ void stop(); diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java index f227a166034..ddb04f1249d 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java @@ -47,6 +47,7 @@ public class NodeAdminImpl implements NodeAdmin { private final DockerOperations dockerOperations; private final Function<String, NodeAgent> nodeAgentFactory; private final StorageMaintainer storageMaintainer; + private final AclMaintainer aclMaintainer; private final Clock clock; private boolean previousWantFrozen; @@ -67,6 +68,7 @@ public class NodeAdminImpl implements NodeAdmin { this.dockerOperations = dockerOperations; this.nodeAgentFactory = nodeAgentFactory; this.storageMaintainer = storageMaintainer; + this.aclMaintainer = aclMaintainer; this.clock = clock; this.previousWantFrozen = true; @@ -76,18 +78,6 @@ public class NodeAdminImpl implements NodeAdmin { Dimensions dimensions = new Dimensions.Builder().add("role", "docker").build(); this.numberOfContainersInLoadImageState = metricReceiver.declareGauge(MetricReceiverWrapper.APPLICATION_DOCKER, dimensions, "nodes.image.loading"); this.numberOfUnhandledExceptionsInNodeAgent = metricReceiver.declareCounter(MetricReceiverWrapper.APPLICATION_DOCKER, dimensions, "nodes.unhandled_exceptions"); - - metricsScheduler.scheduleAtFixedRate(() -> { - try { - nodeAgents.values().forEach(NodeAgent::updateContainerNodeMetrics); - } catch (Throwable e) { - logger.warning("Metric fetcher scheduler failed", e); - } - }, 0, 55, TimeUnit.SECONDS); - - aclScheduler.scheduleWithFixedDelay(() -> { - if (!isFrozen()) aclMaintainer.run(); - }, 30, 60, TimeUnit.SECONDS); } @Override @@ -179,6 +169,21 @@ public class NodeAdminImpl implements NodeAdmin { } @Override + public void start() { + metricsScheduler.scheduleAtFixedRate(() -> { + try { + nodeAgents.values().forEach(NodeAgent::updateContainerNodeMetrics); + } catch (Throwable e) { + logger.warning("Metric fetcher scheduler failed", e); + } + }, 0, 55, TimeUnit.SECONDS); + + aclScheduler.scheduleWithFixedDelay(() -> { + if (!isFrozen()) aclMaintainer.run(); + }, 30, 60, TimeUnit.SECONDS); + } + + @Override public void stop() { metricsScheduler.shutdown(); aclScheduler.shutdown(); diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java index d1f23b13e6c..cdde0b7219f 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java @@ -267,6 +267,7 @@ public class NodeAdminStateUpdater { loopThread.setName("tick-NodeAdminStateUpdater"); loopThread.start(); + nodeAdmin.start(); specVerifierScheduler.scheduleWithFixedDelay(() -> updateHardwareDivergence(storageMaintainer), 5, 60, TimeUnit.MINUTES); } |