summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2017-09-25 13:59:07 +0200
committerValerij Fredriksen <valerijf@oath.com>2017-09-25 13:59:07 +0200
commit01b77cf5ce4741440c3e2f63ff3f9207972bba05 (patch)
treec711efd7a1ae6f6b353271082bf638a79192d866 /node-admin
parent3061a57e93cc1bd4f6354bdb05335160e1282aa0 (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.java15
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 -> {