[ 
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)

Reply via email to