diff options
author | jonmv <venstad@gmail.com> | 2022-04-19 15:53:53 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-04-19 15:53:53 +0200 |
commit | 281706c90b8946e05f583d4700716ae65b79f1d6 (patch) | |
tree | b844a9da655302661366e90981d1bc9a5f6133f9 /node-admin | |
parent | 202dabc7226f6dfa2c71cc76dfd69c7ddb5d1853 (diff) |
Only deregister once
Diffstat (limited to 'node-admin')
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)); } |