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(java.base@16.0.2/Native Method)
    - waiting on <no object reference available>
    at java.lang.Object.wait(java.base@16.0.2/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(java.base@16.0.2/Executors.java:515)
    at java.util.concurrent.FutureTask.run(java.base@16.0.2/FutureTask.java:264)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@16.0.2/ThreadPoolExecutor.java:1130)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@16.0.2/ThreadPoolExecutor.java:630)
    at java.lang.Thread.run(java.base@16.0.2/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)

Reply via email to