[ 
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)

Reply via email to