Hi,

We have Kafka cluster with three brokers(0.10.0.1). We are accessing this
cluster using domain name say common.test. Also, L3 load balancer has been
configured for this domain name, so that request will be passed to brokers
in RR way.

The Producer has been implemented in java client(KafkaProducer), with
configurations:  rerties=3, max.in.flight.requests.per.connection=1.

In normal load ~1.5 M messages/day, we didn't face any exceptions. But we
are receiving below TimeoutException if load increases(~2.5M message/day)
randomly and in total ~100 Exceptions.


> *java.util.concurrent.ExecutionException:
> org.apache.kafka.common.errors.TimeoutException: Batch containing 1
> record(s) expired due to timeout while requesting metadata from brokers for
> Test-7 at *
>
> *org.apache.kafka.clients.producer.internals.FutureRecordMetadata.valueOrError(FutureRecordMetadata.java:65)
> at
> org.apache.kafka.clients.producer.internals.FutureRecordMetadata.get(FutureRecordMetadata.java:52)
> at
> org.apache.kafka.clients.producer.internals.FutureRecordMetadata.get(FutureRecordMetadata.java:25)
> at com.zoho.mqueue.producer.KafkaSender.sendToKafka(KafkaSender.java:89)
> at *
>

If we use broker IPs directly to producer configuration, no exception
comes. How to solve this so that no message will be lost?


Regards,
Madhukar

Reply via email to