diff options
author | jonmv <venstad@gmail.com> | 2022-10-11 10:00:40 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-10-11 10:00:40 +0200 |
commit | d572ecbe50456810df1dba311d74ebb878e06c7b (patch) | |
tree | e9b979378277a4f172a1dabed67828ae447f88c7 /zkfacade/src/test | |
parent | f6f2ae9aaddd11eba42983b520571639891a48c1 (diff) |
Sync shutdown, invalidate doom on no singletons, fix unit test
Diffstat (limited to 'zkfacade/src/test')
-rw-r--r-- | zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorWrapperTest.java | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorWrapperTest.java b/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorWrapperTest.java index 1ff639ed75a..82b9693b8fe 100644 --- a/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorWrapperTest.java +++ b/zkfacade/src/test/java/com/yahoo/vespa/curator/CuratorWrapperTest.java @@ -19,7 +19,6 @@ import java.util.Map; import java.util.Optional; import java.util.concurrent.Phaser; import java.util.concurrent.atomic.AtomicReference; -import java.util.stream.Collectors; import static java.nio.charset.StandardCharsets.UTF_8; import static org.junit.Assert.assertEquals; @@ -132,7 +131,7 @@ public class CuratorWrapperTest { metric); // Singleton is reactivated next tick. - singleton.phaser.arriveAndAwaitAdvance(); + singleton.phaser.awaitAdvance(singleton.phaser.arriveAndDeregister()); assertTrue(singleton.isActive); verifyMetrics(Map.of("activation.count", 3.0, "activation.millis", 0.0, @@ -144,7 +143,6 @@ public class CuratorWrapperTest { // Manager unregisters remaining singletons on shutdown. curator.deconstruct(); - singleton.phaser.arriveAndAwaitAdvance(); assertFalse(singleton.isActive); verifyMetrics(Map.of("activation.count", 3.0, "activation.millis", 0.0, @@ -239,6 +237,7 @@ public class CuratorWrapperTest { metric); newSingleton.shutdown(); + curator.deconstruct(); verifyMetrics(Map.of("activation.count", 6.0, "activation.millis", 0.0, "activation.failure.count", 1.0, @@ -247,8 +246,6 @@ public class CuratorWrapperTest { "is_active", 0.0, "has_lease", 0.0), metric); - - curator.deconstruct(); } } @@ -313,6 +310,7 @@ public class CuratorWrapperTest { singleton.phaser.arriveAndDeregister(); singleton.shutdown(); + curator.deconstruct(); assertFalse(singleton.isActive); verifyMetrics(Map.of("activation.count", 2.0, "activation.millis", 0.0, @@ -321,8 +319,6 @@ public class CuratorWrapperTest { "is_active", 0.0, "has_lease", 0.0), metric); - - curator.deconstruct(); } } @@ -331,8 +327,16 @@ public class CuratorWrapperTest { boolean isActive; Phaser phaser = new Phaser(1); @Override public String id() { return "singleton"; } // ... lest anonymous subclasses get different IDs ... ƪ(`▿▿▿▿´ƪ) - @Override public void activate() { isActive = true; phaser.arriveAndAwaitAdvance(); } - @Override public void deactivate() { isActive = false; phaser.arriveAndAwaitAdvance(); } + @Override public void activate() { + if (isActive) throw new IllegalStateException("already active"); + isActive = true; + phaser.arriveAndAwaitAdvance(); + } + @Override public void deactivate() { + if ( ! isActive) throw new IllegalStateException("already inactive"); + isActive = false; + phaser.arriveAndAwaitAdvance(); + } public void shutdown() { unregister(Duration.ofSeconds(2)); } } |