Hi,

I’m fine with either signature for the new execute() method but I think we 
should focus on the executor discovery and executor configuration part in this 
FLIP while FLIP-74 is about the evolution of the method signature to return a 
future.

I understand that it’s a bit weird, that this FLIP introduces a new interface 
only to be changed within the same Flink release in a follow-up FLIP. But I 
think we can still do it. What do you think?

Best,
Aljoscha

> On 25. Sep 2019, at 10:11, Kostas Kloudas <kklou...@gmail.com> wrote:
> 
> Hi Thomas and Zili,
> 
> As you both said the Executor is a new addition so there are no
> compatibility concerns.
> Backwards compatibility comes into play on the
> (Stream)ExecutionEnvironment#execute().
> 
> This method has to stay and keep having the same (blocking) semantics,
> but we can
> add a new one, sth along the lines of executeAsync() that will return
> the JobClient and
> will allow the caller to interact with the job.
> 
> Cheers,
> Kostas
> 
> On Wed, Sep 25, 2019 at 2:44 AM Zili Chen <wander4...@gmail.com> wrote:
>> 
>>> Since Exceutor is a new interface, why is backward compatibility a concern?
>> 
>> For backward compatibility, it is on (Stream)ExecutionEnvironment#execute.
>> You're right that we don't stick to blocking to return a JobExecutionResult 
>> in
>> Executor aspect but implementing env.execute with a unique
>> 
>> Executor#execute(or with suffix Async): CompletableFuture<JobClient>
>> 
>> what do you think @Kostas Kloudas?
>> 
>>> I could see that become an issue later when replacing Executor execute with
>>> executeAsync. Or are both targeted for 1.10?
>> 
>> IIUC both Executors and JobClient are targeted for 1.10.
>> 
>> 
>> Thomas Weise <t...@apache.org> 于2019年9月25日周三 上午2:39写道:
>>> 
>>> Since Exceutor is a new interface, why is backward compatibility a concern?
>>> 
>>> I could see that become an issue later when replacing Executor execute with
>>> executeAsync. Or are both targeted for 1.10?
>>> 
>>> 
>>> On Tue, Sep 24, 2019 at 10:24 AM Zili Chen <wander4...@gmail.com> wrote:
>>> 
>>>> Hi Thomas,
>>>> 
>>>>> Should the new Executor execute method be defined as asynchronous? It
>>>> could
>>>>> return a job handle to interact with the job and the legacy environments
>>>>> can still block to retain their semantics.
>>>> 
>>>> During our discussion there will be a method
>>>> 
>>>> executeAsync(...): CompletableFuture<JobClient>
>>>> 
>>>> where JobClient can be regarded as job handle in your context.
>>>> 
>>>> I think we remain
>>>> 
>>>> execute(...): JobExecutionResult
>>>> 
>>>> just for backward compatibility because this effort towards 1.10 which is
>>>> not a
>>>> major version bump.
>>>> 
>>>> BTW, I am drafting details of JobClient(as FLIP-74). Will start a separated
>>>> discussion
>>>> thread on that interface as soon as I finish an early version.
>>>> 
>>>> Best,
>>>> tison.
>>>> 
>>>> 
>>>> Thomas Weise <t...@apache.org> 于2019年9月25日周三 上午1:17写道:
>>>> 
>>>>> Thanks for the proposal. These changes will make it significantly easier
>>>> to
>>>>> programmatically use Flink in downstream frameworks.
>>>>> 
>>>>> Should the new Executor execute method be defined as asynchronous? It
>>>> could
>>>>> return a job handle to interact with the job and the legacy environments
>>>>> can still block to retain their semantics.
>>>>> 
>>>>> (The blocking execution has also made things more difficult in Beam, we
>>>>> could simply switch to use Executor directly.)
>>>>> 
>>>>> Thomas
>>>>> 
>>>>> 
>>>>> On Tue, Sep 24, 2019 at 6:48 AM Kostas Kloudas <kklou...@apache.org>
>>>>> wrote:
>>>>> 
>>>>>> Hi all,
>>>>>> 
>>>>>> In the context of the discussion about introducing the Job Client API
>>>>> [1],
>>>>>> there was a side-discussion about refactoring the way users submit jobs
>>>>> in
>>>>>> Flink. There were many different interesting ideas on the topic and 3
>>>>>> design documents that were trying to tackle both the issue about code
>>>>>> submission and the Job Client API.
>>>>>> 
>>>>>> This discussion thread aims at the job submission part and proposes the
>>>>>> approach of introducing the Executor abstraction which will abstract
>>>> the
>>>>>> job submission logic from the Environments and will make it API
>>>> agnostic.
>>>>>> 
>>>>>> The FLIP can be found at [2].
>>>>>> 
>>>>>> Please keep the discussion here, in the mailing list.
>>>>>> 
>>>>>> Looking forward to your opinions,
>>>>>> Kostas
>>>>>> 
>>>>>> [1]
>>>>>> 
>>>>>> 
>>>>> 
>>>> https://lists.apache.org/thread.html/ce99cba4a10b9dc40eb729d39910f315ae41d80ec74f09a356c73938@%3Cdev.flink.apache.org%3E
>>>>>> [2]
>>>>>> 
>>>>>> 
>>>>> 
>>>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-73%3A+Introducing+Executors+for+job+submission
>>>>>> 
>>>>> 
>>>> 

Reply via email to