Alex,
Unfortunately we can’t upgrade the client driver immediately due to lot of dependencies. We are seeing that monitor thread is hanging on FutureAsyncCompletionHandler.get(), below is the complete trace of that thread. This is impacting our production… Any pointers will be helpful to narrow down this issue… Or any fixes provided in later versions
“cluster-ClusterId{value=‘68092f24594013714af69637’, description=‘null’}-XXXX:XXXX:XXXX:XXXX:27020” #67587 daemon prio=5 os_prio=0 tid=0x620108000000 nid=0xa906 [ JVM thread_state=_thread_blocked, locked by VM (w/poll advisory bit) waiting on VM lock ‘self_suspend_monitor for TID 43270’, polling bits: safep ]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- locked <0x000002009fea59c8> (a java.util.concurrent.CountDownLatch$Sync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:837)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:999)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1308)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
at com.mongodb.internal.connection.AsynchronousChannelStream$FutureAsyncCompletionHandler.get(AsynchronousChannelStream.java:297)
at com.mongodb.internal.connection.AsynchronousChannelStream$FutureAsyncCompletionHandler.getOpen(AsynchronousChannelStream.java:284)
at com.mongodb.internal.connection.AsynchronousChannelStream.open(AsynchronousChannelStream.java:117)
at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:128)
at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117)
- locked <0x000002007bb92940> (a com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable)
at java.lang.Thread.run(Thread.java:807)