diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2018-10-18 14:17:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-18 14:17:29 +0200 |
commit | b31a71306a107ec20895d042b49ec2f68c1c736a (patch) | |
tree | adf576f252fccf065e3f07b152e065373efb38c2 /node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java | |
parent | 44496ed9753dd6ec6b0a81b2ae489ba023cc0938 (diff) |
Revert "Revert "NodeAdmin: Remove usage for Environment""
Diffstat (limited to 'node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java')
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminImpl.java | 25 |
1 files changed, 10 insertions, 15 deletions
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 d436e214266..b1c1a99a90a 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 @@ -7,7 +7,7 @@ import com.yahoo.vespa.hosted.dockerapi.metrics.Dimensions; import com.yahoo.vespa.hosted.dockerapi.metrics.GaugeWrapper; import com.yahoo.vespa.hosted.dockerapi.metrics.MetricReceiverWrapper; import com.yahoo.vespa.hosted.node.admin.configserver.noderepository.NodeSpec; -import com.yahoo.vespa.hosted.node.admin.docker.DockerOperations; +import com.yahoo.vespa.hosted.node.admin.maintenance.acl.AclMaintainer; import com.yahoo.vespa.hosted.node.admin.nodeagent.NodeAgent; import com.yahoo.vespa.hosted.node.admin.util.PrefixLogger; @@ -18,6 +18,7 @@ import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executors; @@ -39,7 +40,7 @@ public class NodeAdminImpl implements NodeAdmin { Executors.newScheduledThreadPool(1, ThreadFactoryFactory.getDaemonThreadFactory("metricsscheduler")); private final Function<String, NodeAgent> nodeAgentFactory; - private final Runnable aclMaintainer; + private final Optional<AclMaintainer> aclMaintainer; private final Clock clock; private boolean previousWantFrozen; @@ -51,16 +52,8 @@ public class NodeAdminImpl implements NodeAdmin { private final GaugeWrapper numberOfContainersInLoadImageState; private final CounterWrapper numberOfUnhandledExceptionsInNodeAgent; - public NodeAdminImpl(DockerOperations dockerOperations, - Function<String, NodeAgent> nodeAgentFactory, - Runnable aclMaintainer, - MetricReceiverWrapper metricReceiver, - Clock clock) { - this(nodeAgentFactory, aclMaintainer, metricReceiver, clock); - } - public NodeAdminImpl(Function<String, NodeAgent> nodeAgentFactory, - Runnable aclMaintainer, + Optional<AclMaintainer> aclMaintainer, MetricReceiverWrapper metricReceiver, Clock clock) { this.nodeAgentFactory = nodeAgentFactory; @@ -175,10 +168,12 @@ public class NodeAdminImpl implements NodeAdmin { } }, 10, 55, TimeUnit.SECONDS); - int delay = 120; // WARNING: Reducing this will increase the load on config servers. - aclScheduler.scheduleWithFixedDelay(() -> { - if (!isFrozen()) aclMaintainer.run(); - }, 30, delay, TimeUnit.SECONDS); + aclMaintainer.ifPresent(maintainer -> { + int delay = 120; // WARNING: Reducing this will increase the load on config servers. + aclScheduler.scheduleWithFixedDelay(() -> { + if (!isFrozen()) maintainer.converge(); + }, 30, delay, TimeUnit.SECONDS); + }); } @Override |