You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Matthias J. Sax (Jira)" <ji...@apache.org> on 2020/01/10 18:26:00 UTC

[jira] [Commented] (KAFKA-8178) KafkaProducer#send(ProducerRecord,Callback) may block for up to 60 seconds

    [ https://issues.apache.org/jira/browse/KAFKA-8178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17013117#comment-17013117 ] 

Matthias J. Sax commented on KAFKA-8178:
----------------------------------------

KAFKA-3450 is also related

> KafkaProducer#send(ProducerRecord,Callback) may block for up to 60 seconds
> --------------------------------------------------------------------------
>
>                 Key: KAFKA-8178
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8178
>             Project: Kafka
>          Issue Type: Bug
>          Components: clients, producer 
>            Reporter: Sergei Egorov
>            Priority: Major
>
> Hello. I was running reactor-kafka with [the BlockHound agent|https://github.com/reactor/BlockHound] (you can see the progress [here|https://github.com/reactor/reactor-kafka/pull/75] and even run it yourself) and it detected a very dangerous blocking call in KafkaProducer#send(ProducerRecord,Callback) which is supposed to be async:
> {code:java}
> java.lang.Error: Blocking call! java.lang.Object#wait
> 	at reactor.BlockHound$Builder.lambda$new$0(BlockHound.java:154)
> 	at reactor.BlockHound$Builder.lambda$install$8(BlockHound.java:254)
> 	at reactor.BlockHoundRuntime.checkBlocking(BlockHoundRuntime.java:43)
> 	at java.lang.Object.wait(Object.java)
> 	at org.apache.kafka.clients.Metadata.awaitUpdate(Metadata.java:181)
> 	at org.apache.kafka.clients.producer.KafkaProducer.waitOnMetadata(KafkaProducer.java:938)
> 	at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:823)
> 	at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:803)
> {code}
> it blocks for up to "maxBlockTimeMs" (60 seconds by default)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)