[
https://issues.apache.org/jira/browse/KAFKA-12227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17268517#comment-17268517
]
Chia-Ping Tsai commented on KAFKA-12227:
----------------------------------------
The CompletableFuture can be used to replace the FutureRecordMetadata.java to
simplify the producer flow. Hence, it is worth applying FutureRecordMetadata to
refactor KafkaProducer even if KIP get rejected.
> Return CompletableFuture from KafkaProducer.send
> ------------------------------------------------
>
> Key: KAFKA-12227
> URL: https://issues.apache.org/jira/browse/KAFKA-12227
> Project: Kafka
> Issue Type: Improvement
> Reporter: Chia-Ping Tsai
> Priority: Major
>
> Producer and KafkaProducer return a java.util.concurrent.Future from their
> send methods. This makes it challenging to write asynchronous non-blocking
> code given Future's limited interface. Since Kafka now requires Java 8, we
> now have the option of using CompletionStage and/or CompletableFuture that
> were introduced to solve this issue. It's worth noting that the Kafka
> AdminClient solved this issue by using org.apache.kafka.common.KafkaFuture as
> Java 7 support was still required then.
>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-XXX%3A+Return+CompletableFuture+from+KafkaProducer.send
--
This message was sent by Atlassian Jira
(v8.3.4#803005)