diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-02-04 13:48:06 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-02-04 13:48:06 +0100 |
commit | 17dfbf4625386d1f37313f2da9f6f9b4c7e96c4c (patch) | |
tree | aed2ab71aba51a593d63f6962e03bca29fc3c33e /container-core | |
parent | bbbfcfa38c01142e8fd56b48fb08da30cd38383d (diff) |
Shutdown reconfiguration thread in a more controlled way
Use interrupts is a horrible mechanism as we cannot control which part of the code receives the signal.
Diffstat (limited to 'container-core')
3 files changed, 7 insertions, 5 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java b/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java index bcd3665a3d6..decb0513e26 100644 --- a/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java +++ b/container-core/src/main/java/com/yahoo/container/core/config/HandlersConfigurerDi.java @@ -145,6 +145,8 @@ public class HandlersConfigurerDi { public void shutdown() { container.shutdown(currentGraph); } + public void shutdownConfigRetriever() { container.shutdownConfigRetriever(); } + /** Returns the currently active application configuration generation */ public long generation() { return currentGraph.generation(); } diff --git a/container-core/src/main/java/com/yahoo/container/di/Container.java b/container-core/src/main/java/com/yahoo/container/di/Container.java index 5d5906c7a37..b8bc5fc6c99 100644 --- a/container-core/src/main/java/com/yahoo/container/di/Container.java +++ b/container-core/src/main/java/com/yahoo/container/di/Container.java @@ -254,14 +254,14 @@ public class Container { } public void shutdown(ComponentGraph graph) { - shutdownConfigurer(); + shutdownConfigRetriever(); if (graph != null) { scheduleGraphForDeconstruction(graph); destructor.shutdown(); } } - void shutdownConfigurer() { + public void shutdownConfigRetriever() { retriever.shutdown(); } diff --git a/container-core/src/test/java/com/yahoo/container/di/ContainerTest.java b/container-core/src/test/java/com/yahoo/container/di/ContainerTest.java index 1570c529cdf..74c08b1044b 100644 --- a/container-core/src/test/java/com/yahoo/container/di/ContainerTest.java +++ b/container-core/src/test/java/com/yahoo/container/di/ContainerTest.java @@ -44,7 +44,7 @@ public class ContainerTest extends ContainerTestBase { ComponentTakingConfig component = createComponentTakingConfig(getNewComponentGraph(container)); assertEquals("myString", component.config.stringVal()); - container.shutdownConfigurer(); + container.shutdownConfigRetriever(); } @Test @@ -66,7 +66,7 @@ public class ContainerTest extends ContainerTestBase { ComponentTakingConfig component2 = createComponentTakingConfig(newComponentGraph); assertEquals("reconfigured", component2.config.stringVal()); - container.shutdownConfigurer(); + container.shutdownConfigRetriever(); } @Test @@ -90,7 +90,7 @@ public class ContainerTest extends ContainerTestBase { assertNotNull(ComponentGraph.getNode(newGraph, "id1")); assertNotNull(ComponentGraph.getNode(newGraph, "id2")); - container.shutdownConfigurer(); + container.shutdownConfigRetriever(); } //@Test TODO |