[
https://issues.apache.org/jira/browse/FLINK-3807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15287553#comment-15287553
]
Rekha Joshi commented on FLINK-3807:
------------------------------------
[~till.rohrmann] [~StephanEwen] [~rmetzger]
In this scenario, there is GC happening, but even otherwise the pattern of
Futures with Await.result() in JobClient is rife with deadlock
possibilities.Await.result() is a intentional blocking pattern and makes
Future/async void and quite contrary creates thread/deadlock issues.
I tried with onSuccess/onFailure/callbacks, but does not exactly provide what
is needed here. imo, meeting requirement without deadlocks can only be done if
you modify design to make submitJobAndWait code synchronous instead.Having said
that, i seen this pattern with deadlock potential in many widely used
distributed projects :-)
{code:title= JobClient.java}
Future<Object> future = Patterns.ask(jobClientActor,
new JobClientMessages.SubmitJobAndWait(jobGraph),
new Timeout(AkkaUtils.INF_TIMEOUT()));
answer = Await.result(future, AkkaUtils.INF_TIMEOUT());
{code}
> FastFailuresITCase deadlocks on Travis
> --------------------------------------
>
> Key: FLINK-3807
> URL: https://issues.apache.org/jira/browse/FLINK-3807
> Project: Flink
> Issue Type: Bug
> Affects Versions: 1.1.0
> Reporter: Till Rohrmann
> Priority: Critical
> Labels: test-stability
>
> The {{FastFailuresITCase}} deadlocked on Travis [1].
> [1] https://s3.amazonaws.com/archive.travis-ci.org/jobs/124186367/log.txt
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)