Jason Gustafson created KAFKA-6774:
Summary: Improve default groupId behavior in consumer
Issue Type: Improvement
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
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