James Cheng created KAFKA-4680:
----------------------------------

             Summary: min.insync.replicas can be set higher than replication 
factor
                 Key: KAFKA-4680
                 URL: https://issues.apache.org/jira/browse/KAFKA-4680
             Project: Kafka
          Issue Type: Bug
    Affects Versions: 0.10.0.1
            Reporter: James Cheng


It is possible to specify a min.insync.replicas for a topic that is higher than 
the replication factor of the topic. If you do this, you will not be able to 
produce to the topic with acks=all.

Furthermore, each produce request (including retries) to the topic will emit an 
ERROR level message to the broker debuglogs. If this is not noticed quickly 
enough, it can cause the debuglogs to balloon.

We actually hosed one of our Kafka clusters because of this. A topic got 
configured with min.insync.replicas > replication factor. It had partitions on 
all brokers of our cluster. The broker logs ballooned and filled up the disks. 
We run these clusters on CoreOS, and CoreOS's etcd database got corrupted. 
(Kafka didn't get corrupted, tho).

I think Kafka should do validation when someone tries to change a topic to 
min.insync.replicas > replication factor, and reject the change.

This would presumably affect kafka-topics.sh, kafka-configs.sh, as well as the 
CreateTopics operation that came in KIP-4.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to