No, configurable kafka paths would be subsumed by a properly
functioning zk chroot. I can't imagine a situation where the brokers
and consumers could be safely decoupled.

 Dan

On Wed, Oct 19, 2011 at 13:19, Jay Kreps <jay.kr...@gmail.com> wrote:
> Adding a manual override path in the config seems like an acceptable thing
> to do, but it is not clear we will get 0.8 out before zookeeper gets their
> next release out. Would this have any use other than working around this zk
> problem?
>
> -Jay
>
> On Wed, Oct 19, 2011 at 1:02 PM, Mathias Herberts <
> mathias.herbe...@gmail.com> wrote:
>
>> Not using a chroot is not a feasible thing when the ZK ensemble is
>> shared by several Kafka clusters.
>>
>> On Wed, Oct 19, 2011 at 21:54, Jun Rao <jun...@gmail.com> wrote:
>> > This particular ZK issue only exposes if the ZK connect string uses
>> chroot
>> > and there is a ZK disconnect. In the near term, you can choose not to use
>> > chroot in your ZK connect string.
>> >
>> > Thanks,
>> >
>> > Jun
>> >
>> > On Wed, Oct 19, 2011 at 12:30 PM, Dan Brown <d...@metamx.com> wrote:
>> >
>> >> On Tue, Oct 18, 2011 at 15:02, Mathias Herberts
>> >> <mathias.herbe...@gmail.com> wrote:
>> >> >> I think Jun or Neha had tracked this one down at LinkedIn and it is
>> >> actually
>> >> >> a zk bug. I think it is this one, but they could confirm:
>> >> >>
>> >> >> https://issues.apache.org/jira/browse/ZOOKEEPER-961
>> >> >
>> >> > Sure looks like it.
>> >>
>> >> Confirmed. Running the above repro against zookeeper trunk produces a
>> >> responsive consumer that successfully rebalances when the broker
>> >> rejoins.
>> >>
>> >> > So besides waiting for ZK 3.3.4 there is not much that can be done
>> >> > since Kafka does not offer a way to change the root znode of a
>> >> > cluster.
>> >>
>> >> Yeah, it's unclear that zk-3.3.4 will release anytime soon. Instead of
>> >> relying on zk chroot, why not just expose the zk paths as config
>> >> parameters for consumers, brokers, and producers?
>> >>
>> >> object ZkUtils {
>> >>  val ConsumersPath = "/consumers"
>> >>  val BrokerIdsPath = "/brokers/ids"
>> >>  val BrokerTopicsPath = "/brokers/topics"
>> >>  ...
>> >>
>> >
>>
>

Reply via email to