summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-04-19 15:53:53 +0200
committerjonmv <venstad@gmail.com>2022-04-19 15:53:53 +0200
commit281706c90b8946e05f583d4700716ae65b79f1d6 (patch)
treeb844a9da655302661366e90981d1bc9a5f6133f9 /node-admin
parent202dabc7226f6dfa2c71cc76dfd69c7ddb5d1853 (diff)
Only deregister once
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/ContainerTester.java8
-rw-r--r--node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/RebootTest.java3
2 files changed, 7 insertions, 4 deletions
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/ContainerTester.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/ContainerTester.java
index 415a8b6f438..c5ab858220f 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/ContainerTester.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/ContainerTester.java
@@ -36,6 +36,7 @@ import java.util.Optional;
import java.util.concurrent.Phaser;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Logger;
import static org.mockito.ArgumentMatchers.any;
@@ -92,13 +93,16 @@ public class ContainerTester implements AutoCloseable {
storageMaintainer, flagSource,
Collections.emptyList(), Optional.empty(), Optional.empty(), clock, Duration.ofSeconds(-1),
VespaServiceDumper.DUMMY_INSTANCE) {
+ AtomicBoolean stopped = new AtomicBoolean();
@Override public void converge(NodeAgentContext context) {
super.converge(context);
phaser.arriveAndAwaitAdvance();
}
@Override public void stopForHostSuspension(NodeAgentContext context) {
- super.stopForHostSuspension(context);
- phaser.arriveAndDeregister();
+ if (stopped.compareAndSet(false, true)) {
+ super.stopForHostSuspension(context);
+ phaser.arriveAndDeregister();
+ }
}
};
nodeAdmin = new NodeAdminImpl(nodeAgentFactory, metrics, clock, Duration.ofMillis(10), Duration.ZERO);
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/RebootTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/RebootTest.java
index f3635be1b4b..277f9906dde 100644
--- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/RebootTest.java
+++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/integration/RebootTest.java
@@ -35,8 +35,7 @@ public class RebootTest {
tester.setWantedState(NodeAdminStateUpdater.State.SUSPENDED);
- tester.inOrder(tester.orchestrator).suspend(
- eq(HOST_HOSTNAME.value()), eq(List.of(hostname, HOST_HOSTNAME.value())));
+ tester.inOrder(tester.orchestrator).suspend(eq(HOST_HOSTNAME.value()), eq(List.of(hostname, HOST_HOSTNAME.value())));
tester.inOrder(tester.containerOperations).stopServices(containerMatcher(host1));
assertTrue(tester.nodeAdmin.setFrozen(true));
}