conduktor.io ↗

KIP-286 — producer.send() should not block on metadata update

Discussion Producer

Changes KafkaProducer.send() to avoid blocking the calling thread during metadata refresh, instead buffering records (subject to buffer.memory) and failing fast when buffer is exhausted. The existing behavior blocked user threads up to max.block.ms waiting for metadata on the first send call, which is problematic for latency-sensitive applications.

Protocol Impact

Produce

Details

AuthorDong Lin
StatusDiscussion
JIRAKAFKA-6705
WikiView on Apache Wiki
Created2018-04-12
Last Modified2018-04-14
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.