[FLINK-2473] [core] Add a timeout to akka actorsystem shutdown. This works around a bug in akka where the "awaitTermination()" call freezes indefinitely.
Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/2cff89ed Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/2cff89ed Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/2cff89ed Branch: refs/heads/master Commit: 2cff89ed93bbacf8d054399514c1ca4fb8b24730 Parents: c3ef61d Author: Stephan Ewen <[email protected]> Authored: Mon Aug 3 16:28:34 2015 +0200 Committer: Stephan Ewen <[email protected]> Committed: Mon Aug 3 18:49:48 2015 +0200 ---------------------------------------------------------------------- .../src/main/java/org/apache/flink/client/program/Client.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/2cff89ed/flink-clients/src/main/java/org/apache/flink/client/program/Client.java ---------------------------------------------------------------------- diff --git a/flink-clients/src/main/java/org/apache/flink/client/program/Client.java b/flink-clients/src/main/java/org/apache/flink/client/program/Client.java index d2022bb..78c82f6 100644 --- a/flink-clients/src/main/java/org/apache/flink/client/program/Client.java +++ b/flink-clients/src/main/java/org/apache/flink/client/program/Client.java @@ -26,6 +26,7 @@ import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.util.List; +import java.util.concurrent.TimeUnit; import org.apache.flink.api.common.JobID; import org.apache.flink.api.common.JobSubmissionResult; @@ -441,7 +442,9 @@ public class Client { } finally { actorSystem.shutdown(); - actorSystem.awaitTermination(); + + // wait at most for 30 seconds, to work around an occasional akka problem + actorSystem.awaitTermination(new FiniteDuration(30, TimeUnit.SECONDS)); } }
