KIP-739 — Block Less on KafkaProducer#send
Discussion Producer
Proposes a truly non-blocking `KafkaProducer.send()` overload that returns a `CompletableFuture` and never blocks the calling thread, even when partition metadata is unavailable or the record accumulator is full. The existing `send()` returns a `Future` but can silently block on metadata fetches or buffer-full conditions, causing deadlocks in async runtimes like Netty or gRPC that prohibit blocking the I/O thread.
Details
| Author | Moses Nakamura |
| Status | Discussion |
| JIRA | KAFKA-3539 |
| Wiki | View on Apache Wiki |
| Created | 2021-05-12 |
| Last Modified | 2021-05-20 |
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.