O produtor Kafka perde mensagens na fila quando o corretor é reiniciado

O produtor Kafka perde mensagens na fila quando o corretor é reiniciado

Não tenho muita experiência no assunto e talvez esteja fazendo algo errado.

O problema ocorre quando paro o corretor Kafka e, após uma pausa, inicio-o novamente. Alguns segundos após o corretor iniciar, meu produtor emite erros: "tópico não existe". Devido a esse erro, todas as mensagens armazenadas em buffer off-line são perdidas. Em breve o erro desaparece e as mensagens consecutivas são produzidas.

Se eu alterar a propriedade do servidor "auto.create.topics.enable" para "true", o erro "o tópico não existe" continuará ocorrendo após a reinicialização do broker, mas as mensagens em buffer serão produzidas conforme o esperado.

Suponho que se a criação automática de tópicos for permitida, o erro "tópico não existe" é considerado transitório e o produtor repete o envio de mensagens até que o erro desapareça. Caso contrário, nenhuma repetição será feita e as mensagens armazenadas em buffer serão perdidas.

Posso fazer algo para usar "auto.create.topics.enable" = false e não perder mensagens?

Executando kafka_2.13-3.4.0 no WSL2 Ubuntu 22.04.1 e usando o cliente C++ com librdkafka v2.1.1 no Windows 10. As configurações são: delivery.timeout.ms=86400000, retries=2147483647, acks=all. O tópico é criado com fator de replicação 1, partições 1.

informação relacionada