Good idea, +1

Nicolò Boschi


Il giorno lun 19 set 2022 alle ore 07:36 Yong Zhang <
zhangyong1025...@gmail.com> ha scritto:

> +1
>
> Sounds great
>
> Yong
>
> On Sun, 18 Sept 2022 at 21:20, Enrico Olivelli <eolive...@gmail.com>
> wrote:
>
> > +1
> > Really helpful!
> >
> > Enrico
> >
> > Il Dom 18 Set 2022, 15:02 Diego Salvi <lothruin.mir...@gmail.com> ha
> > scritto:
> >
> > > Hi BookKeepers,
> > > I've added a new BP to add a public API for creating embeddable
> servers:
> > > BP-57 <https://github.com/apache/bookkeeper/issues/3494>
> > >
> > > *Motivation*
> > > BK is used and run in many OS project as an embedded resource.
> > > Every time a project needs to embed BK (think about Pulsar, Pravega or
> > > HerdDB as some examples) boilerplate code need to be written (and then
> > > mantained as per 4.15 changes).
> > > Depending from the contest new feature cannot be made directly
> available
> > > and more code need to be added.
> > > To run an embedded bookie you need to instantiate many components that
> > are
> > > really in "public" api and can and will be subject to changes.
> > >
> > > *Proposal*
> > > We already have the whole code to start a BK server instance, it just
> > needs
> > > to be refactored and exposed as a public API.
> > > My idea is to refactor all the code currently at
> > > org.apache.bookkeeper.server.Main#buildBookieServer and expose it with
> a
> > > builder pattern.
> > > The builder will accept an initial BookieConfiguration (and with no
> more
> > > interaction will produce the same server currently produced from
> > > org.apache.bookkeeper.server.Main#buildBookieServer) and will create
> from
> > > the configuration any component not directly provided to the builder.
> > > For example you can provide your instances for StatsProvider or
> > > MetadataBookieDriver instance or your custom ByteBufAllocator without
> the
> > > need to rewrite the same plain old code.
> > > Another big improvement: new features that whould need additional code
> to
> > > be added (just think when integrity checking has been added in BP-46)
> are
> > > already and directly usable.
> > >
> > > What do you think about it?
> > >
> > > Diego Salvi
> > >
> >
>

Reply via email to