Hi,

@Aljoscha, I believe that it is better to be done like this so that we
do not step on each-other's feet. If the executor already "knew" about
the JobClient, then we should also know about how we expect the
JobExecutionResult is retrieved (which is part of FLIP-74). I think it
is nice to have each discussion self-contained.

Cheers,
Kostas

On Wed, Sep 25, 2019 at 2:13 PM Aljoscha Krettek <aljos...@apache.org> wrote:
>
> 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