[ https://issues.apache.org/jira/browse/KAFKA-6705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dong Lin updated KAFKA-6705: ---------------------------- Description: Currently producer.send() may block on metadata for up to max.block.ms. This behavior is well documented but it is a bit sub-optimal. Since we return a future we should be able to make producer.send() completely non-blocking. One idea is to simply insert the record into a global queue shared across all partitions, and let the sender thread fetch record from this queue and send to broker. (was: Currently producer.send() may block on metadata or full buffer for up to max.block.ms. This behavior is well documented but it is a bit sub-optimal. Since we return a future we should be able to make producer.send() completely non-blocking. One idea is to simply insert the record into a global queue shared across all partitions, and let the sender thread fetch record from this queue and send to broker.) > producer.send() should be non-blocking > -------------------------------------- > > Key: KAFKA-6705 > URL: https://issues.apache.org/jira/browse/KAFKA-6705 > Project: Kafka > Issue Type: Improvement > Reporter: Dong Lin > Assignee: Dong Lin > Priority: Major > > Currently producer.send() may block on metadata for up to max.block.ms. This > behavior is well documented but it is a bit sub-optimal. Since we return a > future we should be able to make producer.send() completely non-blocking. One > idea is to simply insert the record into a global queue shared across all > partitions, and let the sender thread fetch record from this queue and send > to broker. -- This message was sent by Atlassian JIRA (v7.6.3#76005)