Is this due to a potential non-blocking fetch (broker/zookeeper returns an
empty block if offset is current)? Yet this blocks the network call of the
consumer iterator, do I have that right? Are there other reasons it could
block? Like the call fails and a backup call is made?
Do you have example code that manages only once, even when a consumer for a
given partition goes away?
What does happen with rebalancing when a consumer goes away? Is this
behavior of the high-level consumer group? Is there a way to supply one's
own simple consumer with only once, within a consumer group that rebalances?
What happens if a producer goes away?