Greg Harris created KAFKA-13878:
-----------------------------------
Summary: Connect deadlock in WorkerConnector on desired state
change
Key: KAFKA-13878
URL: https://issues.apache.org/jira/browse/KAFKA-13878
Project: Kafka
Issue Type: Bug
Reporter: Greg Harris
We've experienced multiple instances of deadlocks where the connector thread is
blocked indefinitely with the following stacktrace:
{noformat}
"connector-thread-myconnector" #2059323 prio=5 os_prio=0 cpu=123.43ms
elapsed=147352.41s tid=0x00007f5588160de0 nid=0x18be in Object.wait()
[0x00007f550e3fe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait([email protected]/Native Method)
- waiting on <no object reference available>
at java.lang.Object.wait([email protected]/Object.java:320)
at
org.apache.kafka.connect.runtime.WorkerConnector.doRun(WorkerConnector.java:149)
- locked <0x00000005d2253818> (a
org.apache.kafka.connect.runtime.WorkerConnector)
at
org.apache.kafka.connect.runtime.WorkerConnector.run(WorkerConnector.java:118)
at
java.util.concurrent.Executors$RunnableAdapter.call([email protected]/Executors.java:515)
at java.util.concurrent.FutureTask.run([email protected]/FutureTask.java:264)
at
java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1130)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:630)
at java.lang.Thread.run([email protected]/Thread.java:831){noformat}
This appears to be caused by a race condition where a notify() is never
delivered to a task, causing the connector thread to wait indefinitely for a
notify() call that never comes.
This causes the connector to be unable to process further state changes, or
generate task configurations.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)