Yes I can understand the idea.

One more question, as you mentioned, the EmbeddedLeaderService
is not needed. However, from our current codebase, if we configure
rest.bind-port as "0", i.e., resolve the port at the runtime,
we actually resolve the port on WebMonitorEndpoint#start.
But WebMonitorEndpoint#<init> requires HaService and
StandaloneHaService#<init> requires pre-configured port.

How we fits this scenario into StandaloneHaService instead of
EmbeddedLeaderService which publish leader host:port at the
runtime?

Best,
tison.


Till Rohrmann <trohrm...@apache.org> 于2019年8月5日周一 下午7:29写道:

> The idea of the EmbeddedLeaderService is to give you ZooKeeper like high
> availability if all components run inside of the same process. That way it
> is also easy to test HA functionality without having to start ZooKeeper.
>
> Technically, the EmbeddedLeaderService is not needed but it is very handy
> to have.
>
> Cheers,
> Till
>
> On Mon, Aug 5, 2019 at 10:43 AM Zili Chen <wander4...@gmail.com> wrote:
>
> > Investigated the usage of EmbeddedLeaderService, as
> > you said, it is mainly used in MiniCluster.
> >
> > The difference between EmbeddedLeaderService and
> > ZooKeeperLeader(Election|Retrieval)Service is that
> > the latter uses component host and port pre-configured
> > while the former configured at the runtime.
> >
> > I'm not sure when proceeding FLINK-10333 whether
> > implement such a in memory leader election service
> > or let MiniCluster use the standalone one is preferred.
> >
> > Best,
> > tison.
> >
> >
> > Zili Chen <wander4...@gmail.com> 于2019年8月5日周一 下午4:39写道:
> >
> > > Hi Till,
> > >
> > > SingleLeaderElectionService is an effectively subclass of
> > > EmbeddedLeaderService. The merge work can be done as the
> > > minor patch attached.
> > >
> > > I came into this area when working on FLINK-10333, implementing
> > > LeaderElectionService as the document describes. I noticed that
> > > besides Standalone and ZooKeeper implementation there is an
> > > in memory LeaderElectionService, EmbeddedLeaderService.
> > >
> > > Before thinking whether it could be replace with the Standalone
> > > one, I found SingleLeaderElectionService which is an effectively
> > > subclass of it. Thus I started this issue to hear from the
> > > community.
> > >
> > > Best,
> > > tison.
> > >
> > >
> > > Till Rohrmann <trohrm...@apache.org> 于2019年8月2日周五 下午5:59写道:
> > >
> > >> I think at the moment SingleLeaderElectionService is not really used
> > since
> > >> it is part of the YarnIntraNonHaMasterServices. The idea of these ha
> > >> services was to offer a different ha implementation which slightly
> > >> different guarantees. Concretely, the YarnIntraNonHaMasterServices
> > handle
> > >> operator and TaskManager faults but not master faults.
> > >>
> > >> The EmbeddedHaServices are only used by the MiniCluster.
> > >>
> > >> I'm not so sure whether the refactoring is so easy because
> > >> EmbeddedLeaderElectionService is an inner class of
> EmbeddedLeaderService
> > >> and calls methods of this class. Why do you wanna change anything
> there?
> > >>
> > >> Cheers,
> > >> Till
> > >>
> > >> On Fri, Aug 2, 2019 at 6:33 AM Zili Chen <wander4...@gmail.com>
> wrote:
> > >>
> > >> > Hi devs,
> > >> >
> > >> > I found that these two classes are quite similar except
> > >> > SingleLeaderElectionService has a pre-config leader id.
> > >> >
> > >> > However, I don't see use points of that leader id. Also
> > >> > a random UUID would work as a DEFAULT_LEADER_ID(0).
> > >> > I consider whether we could replace SingleLeaderElectionService
> > >> > with EmbeddedLeaderElectionService, or merge.
> > >> >
> > >> > Best,
> > >> > tison.
> > >> >
> > >>
> > >
> >
>

Reply via email to