summaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2022-01-21 10:31:12 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2022-01-21 10:31:12 +0100
commit43dac43623cf3dc92d9e48ab9eb5f435cc04d2e6 (patch)
treed2f6828ab41a8277c1ea1037f1c2b5801cb9e4ef /container-core
parent99c8dd9531bc77281b9c6b7daa064cd4cf1d6aaa (diff)
Fail-fast if reconfigurer thread is interrupted
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/container/di/Container.java7
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,