[ 
https://issues.apache.org/jira/browse/NIFI-5501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tanapol Nearunchorn updated NIFI-5501:
--------------------------------------
    Description: 
There are thousands of "Abandoned connection cleanup thread" left running that 
cause memory leak in NiFi.

I got a thread dump example here (full thread dump also attached):
{code:java}
"Abandoned connection cleanup thread" #18371 daemon prio=5 os_prio=0 
tid=0x00007f3b840e7800 nid=0x76a3 in Object.wait() [0x00007f3b24ebb000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x0000000348a12628> (a java.lang.ref.ReferenceQueue$Lock)
at 
com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:64)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

Locked ownable synchronizers:
- <0x0000000348a12648> (a java.util.concurrent.ThreadPoolExecutor$Worker)
{code}
I'm not sure where these threads come from which component because in my flow, 
I used CaptureChangeMySQL processor and DBCPConnectionPool controller service.

As I also found related problem here: [mysql Bug 
#69526|[https://bugs.mysql.com/bug.php?id=69526]|https://bugs.mysql.com/bug.php?id=69526]]]
 but it quite a bit old.

  was:
There are thousands of "Abandoned connection cleanup thread" left running that 
cause memory leak in NiFi.

I got a thread dump example here (full thread dump also attached):
{code:java}
"Abandoned connection cleanup thread" #18371 daemon prio=5 os_prio=0 
tid=0x00007f3b840e7800 nid=0x76a3 in Object.wait() [0x00007f3b24ebb000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
- locked <0x0000000348a12628> (a java.lang.ref.ReferenceQueue$Lock)
at 
com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:64)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

Locked ownable synchronizers:
- <0x0000000348a12648> (a java.util.concurrent.ThreadPoolExecutor$Worker)
{code}
I'm not sure where these threads come from which component because in my flow, 
I used CaptureChangeMySQL processor and DBCPConnectionPool controller service.

As I also found related problem here: 
[#https://bugs.mysql.com/bug.php?id=69526]  


> MySQL connection cleanup thread leak
> ------------------------------------
>
>                 Key: NIFI-5501
>                 URL: https://issues.apache.org/jira/browse/NIFI-5501
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 1.7.1
>         Environment: - Ubuntu 18.04 LTS
> - mysql-connector-java-5.1.46
> - Java 1.8.0_171
>            Reporter: Tanapol Nearunchorn
>            Priority: Major
>         Attachments: nifi-threaddump.txt
>
>
> There are thousands of "Abandoned connection cleanup thread" left running 
> that cause memory leak in NiFi.
> I got a thread dump example here (full thread dump also attached):
> {code:java}
> "Abandoned connection cleanup thread" #18371 daemon prio=5 os_prio=0 
> tid=0x00007f3b840e7800 nid=0x76a3 in Object.wait() [0x00007f3b24ebb000]
> java.lang.Thread.State: TIMED_WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
> - locked <0x0000000348a12628> (a java.lang.ref.ReferenceQueue$Lock)
> at 
> com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:64)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Locked ownable synchronizers:
> - <0x0000000348a12648> (a java.util.concurrent.ThreadPoolExecutor$Worker)
> {code}
> I'm not sure where these threads come from which component because in my 
> flow, I used CaptureChangeMySQL processor and DBCPConnectionPool controller 
> service.
> As I also found related problem here: [mysql Bug 
> #69526|[https://bugs.mysql.com/bug.php?id=69526]|https://bugs.mysql.com/bug.php?id=69526]]]
>  but it quite a bit old.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to