Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.8.0
-
None
-
None
Description
When closing (transactional) KafkaProducer (after aborting incomplete transaction with KafkaProducer.abortTransaction()), it keeps waiting for the ioThread to join:
"MainLoop" #24 prio=5 os_prio=0 tid=0x00007f93d8afb800 nid=0x2c398 in Object.wait() [0x00007f93a0cf8000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Thread.join(Thread.java:1265) - locked <0x0000000085feb2c0> (a org.apache.kafka.common.utils.KafkaThread) at org.apache.kafka.clients.producer.KafkaProducer.close(KafkaProducer.java:1220) at org.apache.kafka.clients.producer.KafkaProducer.close(KafkaProducer.java:1197) at org.apache.kafka.clients.producer.KafkaProducer.close(KafkaProducer.java:1173)
while the ioThread is in this state:
"kafka-producer-network-thread | produce-ris-live-consume1.vega" #26 daemon prio=5 os_prio=0 tid=0x00007f92d01e1800 nid=0x2c399 waiting on condition [0x00007f93a03ca000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at org.apache.kafka.common.utils.Utils.sleep(Utils.java:375) at org.apache.kafka.common.utils.SystemTime.sleep(SystemTime.java:41) at org.apache.kafka.clients.producer.internals.Sender.maybeSendAndPollTransactionalRequest(Sender.java:463) at org.apache.kafka.clients.producer.internals.Sender.runOnce(Sender.java:315) at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:255) at java.lang.Thread.run(Thread.java:750)
and does not quit.