diff options
Diffstat (limited to 'container-di')
-rw-r--r-- | container-di/src/main/scala/com/yahoo/container/di/Container.scala | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/container-di/src/main/scala/com/yahoo/container/di/Container.scala b/container-di/src/main/scala/com/yahoo/container/di/Container.scala index 0bd5b8264d6..cdec5dca04d 100644 --- a/container-di/src/main/scala/com/yahoo/container/di/Container.scala +++ b/container-di/src/main/scala/com/yahoo/container/di/Container.scala @@ -6,6 +6,7 @@ import java.util.logging.{Level, Logger} import com.google.inject.{Guice, Injector} import com.yahoo.config._ +import com.yahoo.config.subscription.ConfigInterruptedException import com.yahoo.container.bundle.BundleInstantiationSpecification import com.yahoo.container.di.ConfigRetriever.{BootstrapConfigs, ComponentsConfigs} import com.yahoo.container.di.Container._ @@ -62,6 +63,7 @@ class Container( } catch { case userException: ComponentConstructorException => invalidateGeneration(oldGraph.generation, userException) + // TODO: Wrap userException in an Error when generation==0 (+ unit test that Error is thrown) throw userException case t: Throwable => invalidateGeneration(oldGraph.generation, t) @@ -92,6 +94,7 @@ class Container( } } + // TODO: move to ConfiguredApplication def logAndDie(message: String, cause: Throwable): Unit = { log.log(Level.SEVERE, message, cause) try { @@ -102,13 +105,10 @@ class Container( Process.logAndDie("Exited for reason (repeated from above):", cause) } - val message = newGraphErrorMessage(generation, cause) - generation match { - // Disabled, as it breaks application based tests. - // case 0 => logAndDie(message, cause) - case _ => - log.log(Level.WARNING, message, cause) - leastGeneration = max(configurer.getComponentsGeneration, configurer.getBootstrapGeneration) + 1 + leastGeneration = max(configurer.getComponentsGeneration, configurer.getBootstrapGeneration) + 1 + cause match { + case _: InterruptedException | _: ConfigInterruptedException => // Normal during shutdown, do not log anything. + case _ => log.log(Level.WARNING, newGraphErrorMessage(generation, cause), cause) } } |