JV,
sorry for so late reply.

Il lun 20 mag 2019, 07:54 Venkateswara Rao Jujjuri <jujj...@gmail.com> ha
scritto:

> > we should take care of designing a better API for the placement policy
> +1 Our placement policy is super complex and confusing.
>
> > We could also take into account the ability of adding labels/tags to
> bookies.
>
> Can you add more context and color to your statement?
> In the k8s world we do have a way to add tags. Can you please elaborate
> what you are thinking?
>

Most of my products have strong requirements about multi tenancy and smart
resource allocation.
I have always very small clusters (3-5 bookies) so rack/region awareness is
not my primary focus (I have very few cases of multi region clusters).
Currently if you want to drive the allocation of resources you have to
write your own placement policy, put some tenant binding info on 'custom
metadata' and use some out-of-band (in respect to BK)  information about
bookies and which bookie can be used for the tenant who is requesting the
ledger placement.

Having some sort of tags directly set on bookies zk directory will drop the
need for such out of bound information distribution.

Some year ago we discussed about this topic but the discussion did not go
anywhere.
IIRC the reason was that generic labels may be too generic and make the
placement rules too complex.

I see value on this fault domain id.

I think we should have some information on zookeeper about which fault
domains are defined.
We can't discover new fault domains just by listing bookies metadata.

I will also send soon a request for enhancements and a PR to have the list
of bookies (currently we only have APIs to discovery bookies that are up
and running).
 One of my colleagues is working on management tools and we found the lack
of this information.
The script approach for dns to switch mapping also makes it impossible to
understand the topology of the cluster without testing every bookie address.

Enrico



>
> On Sun, May 19, 2019 at 10:23 PM Enrico Olivelli <eolive...@gmail.com>
> wrote:
>
> > Il lun 20 mag 2019, 05:03 Sijie Guo <guosi...@gmail.com> ha scritto:
> >
> > > +1 from me. `Cookie` was designed for keeping the informations that is
> > > associated with a bookie (e.g. disk layouts, bookie id and etc).
> > >
> > > I think it is making sense to have `FaultZoneId` stored as part of the
> > > cookie.
> > >
> >
> > I agree.
> >
> > But we should take care of designing a better API for the placement
> policy.
> > We are changing signatures quite often, adding parameters, changing
> return
> > type....
> >
> > We could also take into account the ability of adding labels/tags to
> > bookies.
> >
> > Enrico
> >
> >
> >
> >
> > > - Sijie
> > >
> > > On Sun, May 19, 2019 at 9:48 AM Venkateswara Rao Jujjuri <
> > > jujj...@gmail.com>
> > > wrote:
> > >
> > > > In the current code, bookie to faultDomain mapping is supplied
> through
> > > > different methods. Salesforce uses a script to read yaml file which
> > > > contains racks/machines mapping. But I am wondering why can't we put
> > this
> > > > info in the Cookie? Assuming that these machines can never move
> across
> > > > fault zones.
> > > >
> > > > Currently cookies contain  version, Host, JourlanDirs, ledgerDirs,
> and
> > > > instanceId.
> > > > If we add faultzoneId to it, it will be always available for everyone
> > to
> > > > look into.
> > > > Is there any reason why it would be a bad idea?
> > > >
> > > > Thanks,
> > > > --
> > > > Jvrao
> > > > ---
> > > > First they ignore you, then they laugh at you, then they fight you,
> > then
> > > > you win. - Mahatma Gandhi
> > > >
> > >
> >
>
>
> --
> Jvrao
> ---
> First they ignore you, then they laugh at you, then they fight you, then
> you win. - Mahatma Gandhi
>

Reply via email to