I would like to see if we can do both:

- Make RackLocator pluggable to facilitate migration with existing
broker-rack mapping

- Make rack an optional property for broker. If rack is available from
broker, treat it as source of truth. For users with existing broker-rack
mapping somewhere else, they can use the pluggable way or they can transfer
the mapping to the broker rack property.

One thing I am not sure is what happens at rolling upgrade when we have
rack as a broker property. For brokers with older version of Kafka, will it
cause problem for them? If so, is there any workaround? I also think it
would be better not to have rack in the controller wire protocol but not
sure if it is achievable.

Thanks,
Allen





On Mon, Sep 28, 2015 at 4:55 PM, Todd Palino <tpal...@gmail.com> wrote:

> I tend to like the idea of a pluggable locator. For example, we already
> have an interface for discovering information about the physical location
> of servers. I don't relish the idea of having to maintain data in multiple
> places.
>
> -Todd
>
> On Mon, Sep 28, 2015 at 4:48 PM, Aditya Auradkar <
> aaurad...@linkedin.com.invalid> wrote:
>
> > Thanks for starting this KIP Allen.
> >
> > I agree with Gwen that having a RackLocator class that is pluggable seems
> > to be too complex. The KIP refers to potentially non-ZK storage for the
> > rack info which I don't think is necessary.
> >
> > Perhaps we can persist this info in zk under /brokers/ids/<broker_id>
> > similar to other broker properties and add a config in KafkaConfig called
> > "rack".
> > {"jmx_port":-1,"endpoints":[...],"host":"xxx","port":yyy, "rack": "abc"}
> >
> > Aditya
> >
> > On Mon, Sep 28, 2015 at 2:30 PM, Gwen Shapira <g...@confluent.io> wrote:
> >
> > > Hi,
> > >
> > > First, thanks for putting out a KIP for this. This is super important
> for
> > > production deployments of Kafka.
> > >
> > > Few questions:
> > >
> > > 1) Are we sure we want "as many racks as possible"? I'd want to balance
> > > between safety (more racks) and network utilization (traffic within a
> > rack
> > > uses the high-bandwidth TOR switch). One replica on a different rack
> and
> > > the rest on same rack (if possible) sounds better to me.
> > >
> > > 2) Rack-locator class seems overly complex compared to adding a
> > rack.number
> > > property to the broker properties file. Why do we want that?
> > >
> > > Gwen
> > >
> > >
> > >
> > > On Mon, Sep 28, 2015 at 12:15 PM, Allen Wang <allenxw...@gmail.com>
> > wrote:
> > >
> > > > Hello Kafka Developers,
> > > >
> > > > I just created KIP-36 for rack aware replica assignment.
> > > >
> > > >
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-36+Rack+aware+replica+assignment
> > > >
> > > > The goal is to utilize the isolation provided by the racks in data
> > center
> > > > and distribute replicas to racks to provide fault tolerance.
> > > >
> > > > Comments are welcome.
> > > >
> > > > Thanks,
> > > > Allen
> > > >
> > >
> >
>

Reply via email to