diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-01-25 14:41:35 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-01-25 14:42:45 +0100 |
commit | d39c153e007d4b613ba7e4dbe3f222691861d1c8 (patch) | |
tree | 564cbe83ad8021807db872f70c5d6cb1b6f81e83 /container-core | |
parent | d7616adac5ab388192acfea71625296295909ee2 (diff) |
Include generation number in log message for deconstruction
Diffstat (limited to 'container-core')
4 files changed, 6 insertions, 6 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/core/config/testutil/HandlersConfigurerTestWrapper.java b/container-core/src/main/java/com/yahoo/container/core/config/testutil/HandlersConfigurerTestWrapper.java index eadb6b52294..5178b864e8e 100644 --- a/container-core/src/main/java/com/yahoo/container/core/config/testutil/HandlersConfigurerTestWrapper.java +++ b/container-core/src/main/java/com/yahoo/container/core/config/testutil/HandlersConfigurerTestWrapper.java @@ -109,7 +109,7 @@ public class HandlersConfigurerTestWrapper { } private ComponentDeconstructor getTestDeconstructor() { - return (components, bundles) -> components.forEach(component -> { + return (generation, components, bundles) -> components.forEach(component -> { if (component instanceof AbstractComponent) { AbstractComponent abstractComponent = (AbstractComponent) component; if (abstractComponent.isDeconstructable()) abstractComponent.deconstruct(); diff --git a/container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java b/container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java index 95a15e12735..0df91103985 100644 --- a/container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java +++ b/container-core/src/main/java/com/yahoo/container/di/ComponentDeconstructor.java @@ -13,7 +13,7 @@ import java.util.List; public interface ComponentDeconstructor { /** Deconstructs the given components in order, then the given bundles. */ - void deconstruct(List<Object> components, Collection<Bundle> bundles); + void deconstruct(long generation, List<Object> components, Collection<Bundle> bundles); /** Wait for all previous destruction tasks to complete */ default void shutdown() {} 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 8d8a05408a9..b37a7b9f69f 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 @@ -171,7 +171,7 @@ public class Container { if ( ! newComponents.containsKey(component)) obsoleteComponents.add(component); - return () -> componentDeconstructor.deconstruct(obsoleteComponents, obsoleteBundles); + return () -> componentDeconstructor.deconstruct(oldGraph.generation(), obsoleteComponents, obsoleteBundles); } private Set<Bundle> installApplicationBundles(Map<ConfigKey<? extends ConfigInstance>, ConfigInstance> configsIncludingBootstrapConfigs) { @@ -264,7 +264,7 @@ public class Container { private void deconstructAllComponents(ComponentGraph graph, ComponentDeconstructor deconstructor) { // This is only used for shutdown, so no need to uninstall any bundles. - deconstructor.deconstruct(graph.allConstructedComponentsAndProviders(), Collections.emptyList()); + deconstructor.deconstruct(graph.generation(), graph.allConstructedComponentsAndProviders(), Collections.emptyList()); } public static <T extends ConfigInstance> T getConfig(ConfigKey<T> key, 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 35c2e8f25c6..1570c529cdf 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 @@ -219,7 +219,7 @@ public class ContainerTest extends ContainerTestBase { public void providers_are_destructed() { writeBootstrapConfigs("id1", DestructableProvider.class); - ComponentDeconstructor deconstructor = (components, bundles) -> { + ComponentDeconstructor deconstructor = (generation, components, bundles) -> { components.forEach(component -> { if (component instanceof AbstractComponent) { ((AbstractComponent) component).deconstruct(); @@ -312,7 +312,7 @@ public class ContainerTest extends ContainerTestBase { public static class TestDeconstructor implements ComponentDeconstructor { @Override - public void deconstruct(List<Object> components, Collection<Bundle> bundles) { + public void deconstruct(long generation, List<Object> components, Collection<Bundle> bundles) { components.forEach(component -> { if (component instanceof DestructableComponent) { DestructableComponent vespaComponent = (DestructableComponent) component; |