aboutsummaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2017-09-25 15:02:08 +0200
committerValerij Fredriksen <valerijf@oath.com>2017-09-25 15:02:08 +0200
commita7652dde60ebaca99cfebe3b84c7b3db62027bfb (patch)
tree74287d9d9eb8bd08ab09b4516e4100e479cc2255 /node-admin
parentbe5760126042eac8922dd92be605d0722b521e78 (diff)
Make classLock an Optional
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeadmin/NodeAdminStateUpdater.java14
1 files changed, 8 insertions, 6 deletions
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 8dbada334b8..f2dd445f8c8 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
@@ -22,6 +22,7 @@ import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -61,7 +62,7 @@ public class NodeAdminStateUpdater {
private final Duration nodeAdminConvergeStateInterval;
private final ClassLocking classLocking;
- private ClassLock classLock;
+ private Optional<ClassLock> classLock;
private Instant lastTick;
public NodeAdminStateUpdater(
@@ -86,8 +87,9 @@ public class NodeAdminStateUpdater {
this.loopThread = new Thread(() -> {
log.info(objectToString() + ": Acquiring lock");
try {
- classLock = classLocking.tryLock(NodeAdminStateUpdater.class, () -> !terminated.get());
+ classLock = Optional.of(classLocking.tryLock(NodeAdminStateUpdater.class, () -> !terminated.get()));
} catch (LockInterruptException e) {
+ classLock = Optional.empty();
return;
}
@@ -315,10 +317,10 @@ public class NodeAdminStateUpdater {
// Finally, stop NodeAdmin and all the NodeAgents
nodeAdmin.stop();
- log.info(objectToString() + ": Releasing lock");
- if (classLock != null) {
- classLock.close();
- }
+ classLock.ifPresent(lock -> {
+ log.info(objectToString() + ": Releasing lock");
+ lock.close();
+ });
log.info(objectToString() + ": Stop complete");
}
}