0

我有简单的 mysql GenerateTableFetch 处理器在第二次运行时无限卡住。当我开始流程时 - 就像一个魅力一样,在下一次预定的运行中它被卡住了。

流程:从一个表中从远程mysql服务器获取数据,进行转换并将其放入sql server。

流动

处理器

连接池

Mysql驱动位置:file:///home/user/jdbc/mysql/mysql-connector-java-8.0.12.jar

Nifi 版本 1.7.1。

我尝试了什么:

不同的 mysql 连接器(5.1.47 和 8.0.12),不同的处理器(QueryDatabaseTable,ExecuteSQL) - 都以相同的方式卡住。

从 sql server 到 sql server 的相同流程完美运行。

从转储日志看起来像线程卡在试图关闭以前的 mysql 连接:

"Abandoned connection cleanup thread" Id=3080 TIMED_WAITING  on java.lang.ref.ReferenceQueue$Lock@607800ac
    at java.lang.Object.wait(Native Method)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
    at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:70)
    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)
    Number of Locked Synchronizers: 1
    - java.util.concurrent.ThreadPoolExecutor$Worker@1f01ec47

可能是什么问题呢?或者我接下来可以检查什么?

谢谢!

4

0 回答 0