we have similar setting "metadata.max.age.ms" in new producer api.
Its default value is 300sec.

On Wed, Oct 12, 2016 at 3:04 PM, Alexandru Ionita <
alexandru.ion...@gmail.com> wrote:

> Hello kafka users!!
>
> I'm trying implement/use a mechanism to make a Kafka producer imperatively
> update its topic metadata for a particular topic.
>
> Here is the use case:
>
> we are adding partitions on topics programmatically because we want to very
> strictly control how messages are published to particular partitions.
>
> We are using AdminUtils.addPartitions to achieve this.
> We then store the ID of the newly added partition in Zookeeper so that we
> persist a mapping to a partition ID for our particular domain key.
>
> The problem we are facing right now is that the Kafka producer won't
> refresh its topic metadata until after a while, preventing the producer
> from posting to those partitions by throwing an error :
>
> Caused by: java.lang.IllegalArgumentException: Invalid partition given
> with
> record: 56 is not in the range [0...55].
> at
> org.apache.kafka.clients.producer.KafkaProducer.
> partition(KafkaProducer.java:717)
> ~[kafka-clients-0.10.0.1.jar:na]
> at
> org.apache.kafka.clients.producer.KafkaProducer.doSend(
> KafkaProducer.java:459)
> ~[kafka-clients-0.10.0.1.jar:na]
> at
> org.apache.kafka.clients.producer.KafkaProducer.send(
> KafkaProducer.java:430)
> ~[kafka-clients-0.10.0.1.jar:na]
> at
> org.apache.kafka.clients.producer.KafkaProducer.send(
> KafkaProducer.java:353)
> ~[kafka-clients-0.10.0.1.jar:na]
>
> As I somewhere read (https://github.com/SOHU-Co/kafka-node/issues/175),
> the
> producer should try to recover from such error by pulling the latest
> version of the topic metadata.
>
> This doesn't happening and I will keep getting those errors for like 60
> seconds until the producer eventually will be able to publish to that
> partition.
>
> In the previous version of kafka (0.8) there was a producer setting called
> topic.metadata.refresh.interval.ms that was aimed to make the producer
> pull
> that information. This is what I found related to that setting in the 0.8
> documentation: "The producer generally refreshes the topic metadata from
> brokers when there is a failure (partition missing, leader not
> available...)
> "
>
> Any ideas and comments on this are much appreciated.
> Thanks
>

Reply via email to