apache/incubator-storm — pull request #170 by spelliott (2014-06-30 10:36:11+00:00)
Title: Kafka spout: throw RuntimeException if a leader cannot be found for a partition

If one of the partitions of the Kafka queue has no leader available, DynamicBrokersReader.getLeaderFor(partition) returns -1. This is logged in DynamicBrokersReader.getBrokerInfo (as there's no ZK node for a broker id -1) but there is no further action.

In this situation the spout will carry on emitting only for those partitions that are available.

My assumption is that if some partitions for a queue are unavailable, there's a problem that needs to be addressed before processing continues. Happy to discuss further.