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