MongoDB java 驱动程序 - 大量停放线程

Dim*_*ima 5 mongodb mongodb-java

从长远来看,我发现 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)
Run Code Online (Sandbox Code Playgroud)

目前约有 250 人。我认为不需要很多线程来监视与单个数据库主机的连接。我显然做错了什么......,但据我所知,当从驱动程序 v2 移动到 v3 时,我们没有做任何设置更改。可能是驱动程序的错误?有任何想法吗?

小智 2

此问题已在 3.2.2 中修复。

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