[
https://issues.apache.org/jira/browse/KAFKA-3959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15418751#comment-15418751
]
Manikumar Reddy edited comment on KAFKA-3959 at 8/12/16 1:27 PM:
-----------------------------------------------------------------
looks like this is done on purpose. While creating __consumer_offsets topic,
it takes minimum of (available brokers, offsets.topic.replication) as
replication factor. Since this important internal topic, we may be creating
with available replications.
https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/server/KafkaApis.scala#L655
but __consumer_offsets append still will fail complaining available replicas
less than min.insync.replicas.
cc [~ijuma] [~hachikuji]
was (Author: omkreddy):
looks like this is done on purpose. While creating __consumer_offsets topic,
it takes minimum of (available brokers, offsets.topic.replication) as
replication factor. Since this important internal topic, we may be creating
available replications.
https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/server/KafkaApis.scala#L655
but __consumer_offsets append still will fail complaining replicas less than
min.insync.replicas.
cc [~ijuma] [~hachikuji]
> __consumer_offsets wrong number of replicas at startup
> ------------------------------------------------------
>
> Key: KAFKA-3959
> URL: https://issues.apache.org/jira/browse/KAFKA-3959
> Project: Kafka
> Issue Type: Bug
> Components: consumer, offset manager, replication
> Affects Versions: 0.9.0.1, 0.10.0.0
> Environment: Brokers of 3 kafka nodes running Red Hat Enterprise
> Linux Server release 7.2 (Maipo)
> Reporter: Alban Hurtaud
>
> When creating a stack of 3 kafka brokers, the consumer is starting faster
> than kafka nodes and when trying to read a topic, only one kafka node is
> available.
> So the __consumer_offsets is created with a replication factor set to 1
> (instead of configured 3) :
> offsets.topic.replication.factor=3
> default.replication.factor=3
> min.insync.replicas=2
> Then, other kafka nodes go up and we have exceptions because the replicas #
> for __consumer_offsets is 1 and min insync is 2. So exceptions are thrown.
> What I missed is : Why the __consumer_offsets is created with replication to
> 1 (when 1 broker is running) whereas in server.properties it is set to 3 ?
> To reproduce :
> - Prepare 3 kafka nodes with the 3 lines above added to servers.properties.
> - Run one kafka,
> - Run one consumer (the __consumer_offsets is created with replicas =1)
> - Run 2 more kafka nodes
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)