с 1 на 2. После этого изменения начал ловить NotEnoughReplicasError при produce.
Что сделал не так?
В описании Min Insync Replicas написано:
When a producer sets acks to "all" (or "-1"), min.insync.replicas specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of "all". This will ensure that the producer raises an exception if a majority of replicas do not receive a write.
А что делать непонятно.
Ну, собственно, NOT_ENOUGH_REPLICAS говорит, что у вас недостаточно in-sync реплик. Посмотри метрики кластера, а все ли время реплики в синке? Кстати, если правильно помню, это transient ошибка, т.е. библиотека должна попробовать доставить сообщение заново. Какую библиотеку используете?
Обсуждают сегодня