diff options
author | Valerij Fredriksen <valerijf@oath.com> | 2017-09-25 13:59:07 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@oath.com> | 2017-09-25 13:59:07 +0200 |
commit | 01b77cf5ce4741440c3e2f63ff3f9207972bba05 (patch) | |
tree | c711efd7a1ae6f6b353271082bf638a79192d866 /node-admin | |
parent | 3061a57e93cc1bd4f6354bdb05335160e1282aa0 (diff) |
Create Thread in constructor to avoid NPE
Diffstat (limited to 'node-admin')
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java index 77348a9dc45..453012e9791 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/NodeAgentImpl.java @@ -81,7 +81,7 @@ public class NodeAgentImpl implements NodeAgent { private int numberOfUnhandledException = 0; private Instant lastConverge; - private Thread loopThread; + private final Thread loopThread; private final ScheduledExecutorService filebeatRestarter = Executors.newScheduledThreadPool(1, ThreadFactoryFactory.getDaemonThreadFactory("filebeatrestarter")); @@ -131,6 +131,11 @@ public class NodeAgentImpl implements NodeAgent { this.clock = clock; this.timeBetweenEachConverge = timeBetweenEachConverge; this.lastConverge = clock.instant(); + + this.loopThread = new Thread(() -> { + while (!terminated.get()) tick(); + }); + this.loopThread.setName("tick-" + hostname); } @Override @@ -178,14 +183,6 @@ public class NodeAgentImpl implements NodeAgent { logger.info(message); addDebugMessage(message); - if (loopThread != null) { - throw new RuntimeException("Can not restart a node agent."); - } - - loopThread = new Thread(() -> { - while (!terminated.get()) tick(); - }); - loopThread.setName("tick-" + hostname); loopThread.start(); serviceRestarter = service -> { |