У меня наконец-то есть ответ на этот вопрос.На самом деле производитель периодически обновляется о метаданных.Интервал определяется параметром конфигурации topic.metadata.refresh.interval.ms
Значение topic.metadata.refresh.interval.ms по умолчанию составляет 300000 (в мс).Это 5 минут, а тест длился всего 2 минуты.После обновления метаданных производитель автоматически распознает новые добавленные разделы.
Таким образом, для любого, у кого есть такая же проблема, вы можете настроить этот параметр для более быстрого обновления метаданных.Нет необходимости в кодировании, кроме установки этого значения с помощью:
rd_kafka_conf_set(conf, "topic.metadata.refresh.interval.ms", "15000",
errstr, sizeof(errstr)) != RD_KAFKA_CONF_OK)
Конечно, вы должны учитывать, что это подразумевает больше обмена сообщениями между брокером и производителем.Подробнее о конфигурации librdkafka: конфигурации librdkafka