[ https://issues.apache.org/jira/browse/KAFKA-8248?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16820597#comment-16820597 ]
Jason Gustafson commented on KAFKA-8248: ---------------------------------------- Looking at the code, I think the problem might be that we don't update the time before calling `client.send()` inside `maybeSendTransactionalRequest`. Basically `NetworkClient.isReady` might return a different value at different times, so if the latest time is not used, it might return incorrectly. > Producer may fail IllegalStateException > --------------------------------------- > > Key: KAFKA-8248 > URL: https://issues.apache.org/jira/browse/KAFKA-8248 > Project: Kafka > Issue Type: Bug > Components: producer > Affects Versions: 2.0.0 > Reporter: Matthias J. Sax > Priority: Major > > In a Kafka Streams application, we observed the following log from the > producer: > {quote}2019-04-17T01:58:25.898Z 17466081 [kafka-producer-network-thread | > client-id-enrichment-gcoint-StreamThread-7-0_10-producer] ERROR > org.apache.kafka.clients.producer.internals.Sender - [Producer > clientId=client-id-enrichment-gcoint-StreamThread-7-0_10-producer, > transactionalId=application-id-enrichment-gcoint-0_10] Uncaught error in > kafka producer I/O thread: > 2019-04-17T01:58:25.898Z java.lang.IllegalStateException: Attempt to send a > request to node 1 which is not ready. > 2019-04-17T01:58:25.898Z at > org.apache.kafka.clients.NetworkClient.doSend(NetworkClient.java:430) > 2019-04-17T01:58:25.898Z at > org.apache.kafka.clients.NetworkClient.send(NetworkClient.java:411) > 2019-04-17T01:58:25.898Z at > org.apache.kafka.clients.producer.internals.Sender.maybeSendTransactionalRequest(Sender.java:362) > 2019-04-17T01:58:25.898Z at > org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:214) > 2019-04-17T01:58:25.898Z at > org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:163) > 2019-04-17T01:58:25.898Z at java.lang.Thread.run(Thread.java:748) > {quote} > Later, Kafka Streams (running with EOS enabled) shuts down with a > `TimeoutException` that occurs during rebalance. It seem that the above error > results in this `TimeoutException`. However, and `IllegalStateException` seem > to indicate a bug in the producer. -- This message was sent by Atlassian JIRA (v7.6.3#76005)