Jason Gustafson created KAFKA-6774:
--------------------------------------

             Summary: Improve default groupId behavior in consumer
                 Key: KAFKA-6774
                 URL: https://issues.apache.org/jira/browse/KAFKA-6774
             Project: Kafka
          Issue Type: Improvement
          Components: consumer
            Reporter: Jason Gustafson


At the moment, the default groupId in the consumer is "". If you try to use 
this to subscribe() to a topic, the broker will reject the group as invalid. On 
the other hand, if you use it with assign(), then the user will be able to 
fetch and commit offsets using the empty groupId. Probably 99% of the time, 
this is not what the user expects. Instead you would probably expect that if no 
groupId is provided, then no committed offsets will be fetched at all and we'll 
just use the auto reset behavior if we don't have a current position.

Here are two potential solutions (both requiring a KIP):

1. Change the default to null. We will preserve the current behavior for 
subscribe(). When using assign(), we will not bother fetching committed offsets 
for the null groupId, and any attempt to commit offsets will raise an error. 
The user can still use the empty groupId, but they have to specify it 
explicitly.
2. Keep the current default, but change the consumer to treat this value as if 
it were null as described in option 1. The argument for this behavior is that 
using the empty groupId to commit offsets is inherently a dangerous practice 
and should not be permitted. We'd have to convince ourselves that we're fine 
not needing to allow the empty groupId for backwards compatibility though.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to