Description
0.8 consumer involves multiple locks across the fetcher manager, leader finder thread and the rebalance watcher executor that prevent rebalance from interrupting the consumer. Rebalance should always take precedence over consumption, not the other way around. The effect of this bug is that if a consumer is lagging and the fetcher thread is blocked on adding the next fetched data chunk to the internal blocking queue, rebalance is halted.