Guozhang Wang created KAFKA-8420: ------------------------------------ Summary: Graceful handling when consumer switches from subscribe to manual assign Key: KAFKA-8420 URL: https://issues.apache.org/jira/browse/KAFKA-8420 Project: Kafka Issue Type: Improvement Components: consumer Reporter: Guozhang Wang
Today if a consumer switches between subscribe (and hence relies on group rebalance to get assignment) and manual assign, it may cause unnecessary rebalances. For example: 1. consumer.subscribe(); 2. consumer.poll(); // join-group request sent, returns empty because poll timeout 3. consumer.unsubscribe(); 4. consumer.assign(..); 5. consumer.poll(); // sync-group request received, and the assigned partitions does not match the current subscription-state. In this case it will tries to re-join which is not necessary. In the worst case (i.e. leader keep sending incompatible assignment), this would case the consumer to fall into endless re-joins. Although it is not a very common usage scenario, it still worth being better handled than the status-quo. -- This message was sent by Atlassian JIRA (v7.6.3#76005)