I think this is addressed in KAFKA-969

On Fri, Jul 12, 2013 at 5:55 PM, Florin Trofin <ftro...@adobe.com> wrote:
> Hello,
>
> I'm going through a series of tests with Kafka 0.8 to see what the failure 
> cases are. One simple scenario is this:
>
> 1. Launch Zookeeper
> 2. Launch my consumer (written in scala) but don't launch a Kafka broker (I 
> am not using replication in my configuration).
>
> What happens in this particular scenario is that my consumer hits the 
> createMessageStreams which internally makes 4 failed attempts and then it 
> raises a ConsumerRebalanceFailedException:
>
> kafka.common.ConsumerRebalanceFailedException: 
> zfilter_vm-florin-ubuntu-d-12-1373675347482-ff93b841 can't rebalance after 4 
> retries
>         at 
> kafka.consumer.ZookeeperConsumerConnector$ZKRebalancerListener.syncedRebalance(ZookeeperConsumerConnector.scala:397)
>         at 
> kafka.consumer.ZookeeperConsumerConnector.kafka$consumer$ZookeeperConsumerConnector$$reinitializeConsumer(ZookeeperConsumerConnector.scala:681)
>         at 
> kafka.consumer.ZookeeperConsumerConnector.consume(ZookeeperConsumerConnector.scala:205)
>         at 
> kafka.consumer.ZookeeperConsumerConnector.createMessageStreams(ZookeeperConsumerConnector.scala:133)
>         at 
> kafka.consumer.ZookeeperConsumerConnector.createMessageStreams(ZookeeperConsumerConnector.scala:126)
>
>
> I was expecting a more specific exception - something like NoBrokerAvailable 
> instead of this. I can add a catch clause for this exception and retry the 
> operation in a loop until the broker comes online but I dislike the approach 
> because I am making an assumption here - that 
> ConsumerRebalanceFailedException means "no broker available". Is there a 
> better way to do this? Do you have a pattern for consumers for when brokers 
> go offline and come back up?
>
> Thanks a lot!
>
> Florin

Reply via email to