Kafka Producer теряет сообщения в очереди при перезапуске брокера

Kafka Producer теряет сообщения в очереди при перезапуске брокера

У меня нет большого опыта в этом вопросе, и, возможно, я делаю что-то не так.

Проблема возникает, когда я останавливаю брокер Kafka и после паузы запускаю его снова. Через несколько секунд после запуска брокера мой производитель выдает ошибки: "тема не существует". Из-за этой ошибки все офлайн-буферизованные сообщения теряются. Вскоре ошибка исчезает, и создаются последовательные сообщения.

Если я изменю свойство сервера «auto.create.topics.enable» на «true», ошибка «тема не существует» будет продолжать возникать после перезапуска брокера, но буферизованные сообщения будут выдаваться, как и ожидалось.

Я предполагаю, что если разрешено автоматическое создание тем, то ошибка "тема не существует" считается временной и производитель повторяет отправку сообщений до тех пор, пока ошибка не исчезнет. В противном случае повторы не производятся и буферизованные сообщения теряются.

Можно ли что-то сделать, чтобы использовать "auto.create.topics.enable" = false и не терять сообщения?

Запуск kafka_2.13-3.4.0 на WSL2 Ubuntu 22.04.1 и использование клиента C++ с librdkafka v2.1.1 на Windows 10. Настройки: delivery.timeout.ms=86400000, retries=2147483647, acks=all. Тема создана с replication-factor 1, partitions 1.

Связанный контент