[
https://issues.apache.org/jira/browse/FLINK-15129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16990806#comment-16990806
]
Aljoscha Krettek commented on FLINK-15129:
------------------------------------------
You're right, I forgot about that. I'm also somewhat uncertain about this
change.
I'm wondering what happens to asynchronous cluster submission when the
{{main()}} method exits. If the last statement in {{main()}} is
{{executeAsync()}} and the users doesn't wait on the future. Will asynchronous
job submission on YARN still succeed or are those threads closed. Maybe it is
right to wait and only then return from {{executeAsync()}} with a {{JobClient}}.
> Return JobClient instead of JobClient Future from executeAsync()
> ----------------------------------------------------------------
>
> Key: FLINK-15129
> URL: https://issues.apache.org/jira/browse/FLINK-15129
> Project: Flink
> Issue Type: Sub-task
> Components: API / DataSet, API / DataStream
> Reporter: Aljoscha Krettek
> Priority: Major
>
> Currently, users have to write this when they want to use the {{JobClient}}:
> {code}
> CompletableFuture<JobClient> jobClientFuture = env.executeAsync();
> JobClient jobClient = jobClientFuture.get();
> // or use thenApply/thenCompose etc.
> {code}
> instead we could always return a {{JobClient}} right away and therefore
> remove one step for the user.
> I don't know if it's always the right choice, but currently we always return
> an already completed future that contains the {{JobClient}}. In the future we
> might want to return a future that actually completes at some later point, we
> would not be able to do this if we directly return a {{JobClient}} and would
> have to block in {{executeAsync()}}.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)