From: Tibor Král Date: Thu, 6 Feb 2020 11:19:42 +0000 (+0100) Subject: Propagate TimeoutException when ActorSystem fails to terminate X-Git-Tag: v2.0.0~57 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=e8215aef8cf2475512d7601fdaebcb1294e93fc7 Propagate TimeoutException when ActorSystem fails to terminate ActorSystemProviderImpl waits 10s for the ActorSystem to terminate. If this timeout is reached propagate the resulting TimeoutException so the caller knows something went wrong. JIRA: CONTROLLER-1929 Change-Id: I6518600e2930e3a0a955215b24a9b3074730ff64 Signed-off-by: Tibor Král --- diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/akka/impl/ActorSystemProviderImpl.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/akka/impl/ActorSystemProviderImpl.java index 0d43250f5d..6e805b33d7 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/akka/impl/ActorSystemProviderImpl.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/akka/impl/ActorSystemProviderImpl.java @@ -11,6 +11,7 @@ import akka.actor.ActorSystem; import akka.actor.Props; import com.typesafe.config.Config; import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import org.opendaylight.controller.cluster.ActorSystemProvider; import org.opendaylight.controller.cluster.ActorSystemProviderListener; import org.opendaylight.controller.cluster.common.actor.QuarantinedMonitorActor; @@ -51,14 +52,8 @@ public class ActorSystemProviderImpl implements ActorSystemProvider, AutoCloseab } @Override - @SuppressWarnings("checkstyle:IllegalCatch") - public void close() { + public void close() throws TimeoutException, InterruptedException { LOG.info("Shutting down ActorSystem"); - - try { - Await.result(actorSystem.terminate(), FiniteDuration.create(10, TimeUnit.SECONDS)); - } catch (final Exception e) { - LOG.warn("Error awaiting actor termination", e); - } + Await.result(actorSystem.terminate(), FiniteDuration.create(10, TimeUnit.SECONDS)); } }