У меня есть некоторый python код, который будет выдавать в kafka topi c, это прекрасно работает с настройкой по умолчанию acks=1
, но когда я изменяю на acks=all
или acks=2
, сообщение не заканчивается в топи c. min.insync.replicas
config на topi c установлен на 2
. После запуска кода не возвращается сообщение об ошибке, которое сбивает с толку? В кластере 3 брокера.
Вот код
from confluent_kafka import Producer
from kafka.errors import KafkaError
def get_producer_config():
return Producer(get_config())
def get_config():
conf = {
'bootstrap.servers': 'localhost:9092',
'acks': '2',
}
return conf
try:
producer = get_producer_config()
producer.produce('test', 'test message from local app')
producer.flush()
except KafkaError as error:
get_logger().error(str(error))
Это связано с отладкой лямбды-производителя kafka, где мы получали сообщение об ошибке KafkaError{code=NOT_ENOUGH_REPLICAS,val=19,str="Broker: Not enough in-sync replicas"}
Я пытался выполнить верхнюю репликацию локально, но не получаю ошибку, но заметил это при попытке.
Спасибо