[
https://issues.apache.org/jira/browse/KAFKA-2648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14975075#comment-14975075
]
Guozhang Wang commented on KAFKA-2648:
--------------------------------------
The new consumer consolidates the old high-level and simple consumers, and for
old simple consumer one does not need to specify group ids since it does not
require any coordination at all. But given that I feel we do not need to be
concerned about compatibility since the new consumer does not need to be
compatible with the old consumer's APIs.
The concerns I have, though, is about enforcing group id at the consumer side
as the submitted PR: consumer instances may be used by tooling / admin /
high-level services like streaming etc, which does not necessarily need to
specify group ids since they do not need coordination. An alternative is to do
exactly this ticket's title suggested: let the coordinator check if group id is
empty, but not necessarily enforce non-empty group ids at the consumer side,
and document "if you EVER want to subscribe during the lifetime of your
consumer, you need to specify the group-id or otherwise subscribe() can throw a
runtime exception".
> Coordinator should not allow empty groupIds
> -------------------------------------------
>
> Key: KAFKA-2648
> URL: https://issues.apache.org/jira/browse/KAFKA-2648
> Project: Kafka
> Issue Type: Bug
> Affects Versions: 0.9.0.0
> Reporter: Jason Gustafson
> Assignee: Jason Gustafson
>
> The coordinator currently allows consumer groups with empty groupIds, but
> there probably aren't any cases where this is actually a good idea and it
> tends to mask problems where different groups have simply not configured a
> groupId. To address this, we can add a new error code, say INVALID_GROUP_ID,
> which the coordinator can return when it encounters an empty groupID. We
> should also make groupId a required property in consumer configuration and
> enforce that it is non-empty.
> It's a little unclear whether this change would have compatibility concerns.
> The old consumer will fail with an empty groupId (because it cannot create
> the zookeeper paths), but other clients may allow it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)