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 中修复。

https://jira.mongodb.org/browse/JAVA-2074