diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-01-21 10:31:12 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-01-21 10:31:12 +0100 |
commit | 43dac43623cf3dc92d9e48ab9eb5f435cc04d2e6 (patch) | |
tree | d2f6828ab41a8277c1ea1037f1c2b5801cb9e4ef /container-core/src/main | |
parent | 99c8dd9531bc77281b9c6b7daa064cd4cf1d6aaa (diff) |
Fail-fast if reconfigurer thread is interrupted
Diffstat (limited to 'container-core/src/main')
-rw-r--r-- | container-core/src/main/java/com/yahoo/container/di/Container.java | 7 |
1 files changed, 6 insertions, 1 deletions
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 e437f440c41..bb6b11c77ae 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 @@ -17,6 +17,7 @@ import com.yahoo.container.di.config.ApplicationBundlesConfig; import com.yahoo.container.di.config.PlatformBundlesConfig; import com.yahoo.container.di.config.SubscriberFactory; import com.yahoo.vespa.config.ConfigKey; +import com.yahoo.yolean.UncheckedInterruptedException; import org.osgi.framework.Bundle; import java.util.ArrayList; @@ -153,7 +154,11 @@ public class Container { } private void constructComponents(ComponentGraph graph) { - graph.nodes().forEach(Node::constructInstance); + graph.nodes().forEach(n -> { + if (Thread.interrupted()) + throw new UncheckedInterruptedException("Interrupted while constructing component graph", true); + n.constructInstance(); + }); } private void deconstructObsoleteComponents(ComponentGraph oldGraph, |