MongoDB java 驱动程序 - 大量停放线程
MongoDB java driver - massive number of parked threads
在漫长的 运行 中,我看到 MongoDB Java 驱动程序 (v3.0.3) 堆积了大量线程。这些线程都是服务器监控线程,全部驻留等待:
cluster-ClusterId{value='562233d1b26c940820028340', description='null'}-192.168.0.2:27017
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.waitForSignalOrTimeout(DefaultServerMonitor.java:237)
com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.waitForNext(DefaultServerMonitor.java:218)
com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:167)
java.lang.Thread.run(Unknown Source)
目前大约有 250 个。我认为不需要很多线程来监视与单个数据库主机的连接。我显然做错了什么......但据我所知,当从驱动程序 v2 移动到 v3 时,我们没有做任何设置更改。可能是驱动程序中的错误?有什么想法吗?
此问题已在 3.2.2 中修复。
在漫长的 运行 中,我看到 MongoDB Java 驱动程序 (v3.0.3) 堆积了大量线程。这些线程都是服务器监控线程,全部驻留等待:
cluster-ClusterId{value='562233d1b26c940820028340', description='null'}-192.168.0.2:27017
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.waitForSignalOrTimeout(DefaultServerMonitor.java:237)
com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.waitForNext(DefaultServerMonitor.java:218)
com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:167)
java.lang.Thread.run(Unknown Source)
目前大约有 250 个。我认为不需要很多线程来监视与单个数据库主机的连接。我显然做错了什么......但据我所知,当从驱动程序 v2 移动到 v3 时,我们没有做任何设置更改。可能是驱动程序中的错误?有什么想法吗?
此问题已在 3.2.2 中修复。