I think your application (where the producer resides) is facing GC issues. The time taken for the GC might be higher than the `request.timeout.ms`.
Check your `jvm.log` and update the `request.timeout.ms`. The same property is applicable to producer, consumer and broker. Increase the config only for the KafkaProducer. -- Kamal On Sat, Aug 12, 2017 at 12:19 AM, Saladi Naidu < naidusp2...@yahoo.com.invalid> wrote: > Looks like some of the fonts/characters did not come through, am > re-sending with correct details > We have recently upgraded our Kafka cluster from 0.8.2 to 0.10.1. As part > of the upgrade our clients upgraded the client libraries as well. After the > upgrade we are facing following issue > org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for > OM-LOCAL-DC3-REQUISITION-SUBMISSION-PRD-E2-14: 30027 ms has passed since > last append > > > My understanding is that Producer batches the send requests going to > topic/partition per leader and sends it once based on following parameters > linger.ms is time based batching > batch.size is size based batching > > We had batch.size as 16K (default) and linger.ms 0 - We expected producer > to send requests right away even if the batch size is not met because > linger.ms is 0. > > Our request.timeout.ms 30 seconds, looking at the error, it looks like > requests are kept in the sender queue longer and when the Sender polling > thread sees the requests are older, it is expiring them out. > I have tried following multiple combinations and none seem to work > > linger.ms 0 and batch.size - < 16 klinger.ms 0 and batch.size - 0 k > linger.ms 1000 and batch.size - < 0 > > Any clue on why linger.ms 0 or btach.size 0 is not taken into > consideration ??? Naidu Saladi > > > On Thursday, August 10, 2017 1:57 PM, Saladi Naidu > <naidusp2...@yahoo.com.INVALID> wrote: > > > We have recently upgraded our Kafka cluster from 0.8.2 to 0.10.1. As part > of the upgrade our clients upgraded the client libraries as well. After the > upgrade we are facing following issue > org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for > OM-LOCAL-DC3-REQUISITION-SUBMISSION-PRD-E2-14: 30027 ms has passed since > last append > > > My understanding is that Producer batches the send requests going to > topic/partition per leader and sends it once based on following parameters > ülinger.ms <http://xn--linger-2ya.ms> ß > > is time based batchingübatch.size ß > > is size based batching > We had batch.size as 16K and linger.ms 0 and we expected producer to send > requests right away even if the batch size is not met because linger.ms > is zero. > Our request.timeout.ms 30 seconds, looking at the error, it looks like > requests are kept in the sender queue longer and when the Sender polling > thread sees the requests are older, it is expiring them out. I have tried > following multiple combinations and none seem to work > > linger.ms 0 and batch.size - < 16 klinger.ms 0 and batch.size - 0 k > linger.ms 1000 and batch.size - < 0 > > Any clue on why linger.ms 0 or btach.size 0 is not taken into > consideration ??? > Thanks,Naidu Saladi > > >