You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Apurva Mehta (JIRA)" <ji...@apache.org> on 2017/07/27 17:53:00 UTC

[jira] [Commented] (KAFKA-5666) Need feedback to user if consumption fails due to offsets.topic.replication.factor=3

    [ https://issues.apache.org/jira/browse/KAFKA-5666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16103602#comment-16103602 ] 

Apurva Mehta commented on KAFKA-5666:
-------------------------------------

I see the problem, but currently the {{GROUP_COORDINATOR_NOT_AVAILABLE}} is sort of an expected error code in normal operations: for instance, it is bound to happen when there is a rolling restart, a software upgrade, etc. 

Even if we logged it all the time, the current RPC framework doesn't really allow us to pass an error string between the server and client. So we would not be able to give any details which suggest that offsets topic can't be created. 

From an application perspective, the consumer never returns any underlying errors from {{poll}} unless they are fatal. This is actually desirable behavior. 

All of this makes sense from the perspective of a system operating in production. I think the real solution here is to make sure that development images are configured correctly and work out of the box.

> Need feedback to user if consumption fails due to offsets.topic.replication.factor=3
> ------------------------------------------------------------------------------------
>
>                 Key: KAFKA-5666
>                 URL: https://issues.apache.org/jira/browse/KAFKA-5666
>             Project: Kafka
>          Issue Type: Improvement
>          Components: clients, consumer
>    Affects Versions: 0.11.0.0
>            Reporter: Yeva Byzek
>              Labels: newbie
>
> Introduced in 0.11: The offsets.topic.replication.factor broker config is now enforced upon auto topic creation. Internal auto topic creation will fail with a GROUP_COORDINATOR_NOT_AVAILABLE error until the cluster size meets this replication factor requirement.
> Issue: Default is setting offsets.topic.replication.factor=3, but in development and docker environments where there is only 1 broker, the offsets topic will fail to be created when a consumer tries to consume and no records will be returned.  As a result, the user experience is bad.  The user may have no idea about this setting change and enforcement, and they just see that `kafka-console-consumer` hangs with ZERO output. It is true that the broker log file will provide a message (e.g. {{ERROR [KafkaApi-1] Number of alive brokers '1' does not meet the required replication factor '3' for the offsets topic (configured via 'offsets.topic.replication.factor'). This error can be ignored if the cluster is starting up and not all brokers are up yet. (kafka.server.KafkaApis)}}) but many users do not have access to the log files or know how to get them.
> Suggestion: give feedback to the user/app if offsets topic cannot be created.  For example, after some timeout.
> Workaround:
> Set offsets.topic.replication.factor=3



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)