Intermittent timeouts between Mongo Atlas and Java Spring Boot app running on GCP Cloud Run container

Hi guys,

I am experiencing an issue with intermittent (every few hours) timeouts between out java springboot app and Mongo Atlas.

We do not see the same error with our node.js app.

Any ideas on what we should be doing to prevent such errors? Or ideas on what we could be doing wrong?

Many thanks

Java Application error log:

com.mongodb.MongoSocketReadTimeoutException: Timeout while receiving message
	at com.mongodb.internal.connection.InternalStreamConnection.translateReadException(InternalStreamConnection.java:630)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveMessageWithAdditionalTimeout(InternalStreamConnection.java:515)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:355)
	at com.mongodb.internal.connection.InternalStreamConnection.receive(InternalStreamConnection.java:315)
	at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.lookupServerDescription(DefaultServerMonitor.java:215)
	at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:144)
	at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:981)
	at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:478)
	at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:472)
	at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:70)
	at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1434)
	at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1038)
	at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:109)
	at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:131)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:647)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveMessageWithAdditionalTimeout(InternalStreamConnection.java:512)
2 Likes

Hi @we_eatbricks, have you resolved the issue?

I have also encountered the same problem (working app with intermittent MongoSocketReadTimeoutException every few hours) with the same tech stack (Atlas, Spring Boot, Google Cloud Run).

Many Thanks

@Dales @we_eatbricks

I am also facing same problem with the same tech stack .
Have you resolved the issue ?

Hi @Prabhat_Kumar2, unfortunately our logs indicate that this is still occurring (since the original post we have also migrated our tech stack to new versions → including spring boot to 3.0 and our MongoDB instance to a serverless, but with no joy).

If anybody can shed any more light on this, it would be much appreciated.

Hi there, would you be able to share which driver version you’re using?

spring-boot-starter-data-mongodb : 2.6.8
mongodb-driver-sync: 4.4.2
mongodb-driver-core: 4.4.2

May be this will help

Exception in monitor thread while connecting to server XXX-develop-qa-shard-00-00-pri.XXX.mongodb.net:XXXX" 
----
com.mongodb.MongoSocketReadTimeoutException: Timeout while receiving message
	at com.mongodb.internal.connection.InternalStreamConnection.translateReadException(InternalStreamConnection.java:701)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveMessageWithAdditionalTimeout(InternalStreamConnection.java:579)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:415)
	at com.mongodb.internal.connection.InternalStreamConnection.receive(InternalStreamConnection.java:374)
	at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.lookupServerDescription(DefaultServerMonitor.java:216)
	at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:152)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.base/java.net.SocketInputStream.socketRead0(Native Method)
	at java.base/java.net.SocketInputStream.socketRead(Unknown Source)
	at java.base/java.net.SocketInputStream.read(Unknown Source)
	at java.base/java.net.SocketInputStream.read(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketInputRecord.read(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(Unknown Source)
	at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:109)
	at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:131)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:718)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveMessageWithAdditionalTimeout(InternalStreamConnection.java:576)
	... 5 common frames omitted

We had the issue with various versions of spring boot 2 (as per Prabhats), but have recently migrated to Spring 3.0, which pulls in version 4.8.0 of the following:
mongodb-driver-core
mongodb-driver-legacy
mongodb-driver-reactivestreams
mongodb-driver-sync

We pretty much see this exception every day (completely intermittent amongst thousands of transactions).

2022-12-28 06:09:03.334 GMT

Caused by: com.mongodb.MongoSocketWriteException: Exception sending message

2022-12-28 06:09:03.334 GMT

at com.mongodb.internal.connection.InternalStreamConnection.translateWriteException(InternalStreamConnection.java:687) ~[mongodb-driver-core-4.8.0.jar!/:na]

2022-12-28 06:09:03.334 GMT

at com.mongodb.internal.connection.InternalStreamConnection.access$700(InternalStreamConnection.java:89) ~[mongodb-driver-core-4.8.0.jar!/:na]

2022-12-28 06:09:03.334 GMT

at com.mongodb.internal.connection.InternalStreamConnection$3.failed(InternalStreamConnection.java:604) ~[mongodb-driver-core-4.8.0.jar!/:na]

2022-12-28 06:09:03.334 GMT

at com.mongodb.connection.netty.NettyStream$2.operationComplete(NettyStream.java:256) ~[mongodb-driver-core-4.8.0.jar!/:na]


2022-12-28 06:09:03.335 GMT

Caused by: io.netty.channel.StacklessClosedChannelException: null

2022-12-28 06:09:03.335 GMT

at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]

2022-12-28 06:09:03.335 GMT

Caused by: java.io.IOException: Broken pipe

2022-12-28 06:09:03.335 GMT

at java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[na:na]

2022-12-28 06:09:03.335 GMT

at java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:62) ~[na:na]

2022-12-28 06:09:03.335 GMT

at java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:137) ~[na:na]

2022-12-28 06:09:03.335 GMT

at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:81) ~[na:na]

Appreciate you sharing this. From the stack trace, it looks like this might be monitoring related. Are you seeing exceptions thrown from application threads as well?

Not in main thread for now

Hi Ashni, I see this intermittent exception with the reactive spring boot 3.0 stack, which appears to be on the main thread (unsure whether it is related to the original exception reported on this post, but it has very similar characteristics, besides not directly being caused by a SocketTimeoutException):

at io.netty.handler.ssl.SslHandler.exceptionCaught(SslHandler.java:1105) ~[netty-handler-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:317) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.exceptionCaught(DefaultChannelPipeline.java:1377) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.DefaultChannelPipeline.fireExceptionCaught(DefaultChannelPipeline.java:907) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.handleReadException(AbstractNioByteChannel.java:125) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:177) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
*__checkpoint ⇢ org.springframework.security.web.server.csrf.CsrfWebFilter [DefaultWebFilterChain]
*__checkpoint ⇢ org.springframework.security.web.server.header.HttpHeaderWriterWebFilter [DefaultWebFilterChain]
*__checkpoint ⇢ org.springframework.security.config.web.server.ServerHttpSecurity$ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
*__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
Original Stack Trace:
at org.springframework.data.mongodb.core.MongoExceptionTranslator.translateExceptionIfPossible(MongoExceptionTranslator.java:81) ~[spring-data-mongodb-4.0.0.jar!/:4.0.0]
at org.springframework.data.mongodb.core.ReactiveMongoTemplate.potentiallyConvertRuntimeException(ReactiveMongoTemplate.java:2574) ~[spring-data-mongodb-4.0.0.jar!/:4.0.0]
at org.springframework.data.mongodb.core.ReactiveMongoTemplate.lambda$translateException$93(ReactiveMongoTemplate.java:2557) ~[spring-data-mongodb-4.0.0.jar!/:4.0.0]
at reactor.core.publisher.Flux.lambda$onErrorMap$27(Flux.java:7088) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onError(MonoFlatMapMany.java:255) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.maybeOnError(FluxConcatMapNoPrefetch.java:326) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onError(FluxConcatMapNoPrefetch.java:220) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.FluxCreate$BaseSink.error(FluxCreate.java:474) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.FluxCreate$BufferAsyncSink.drain(FluxCreate.java:802) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.FluxCreate$BufferAsyncSink.error(FluxCreate.java:747) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.FluxCreate$SerializedFluxSink.drainLoop(FluxCreate.java:237) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.FluxCreate$SerializedFluxSink.drain(FluxCreate.java:213) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.FluxCreate$SerializedFluxSink.error(FluxCreate.java:189) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.LambdaMonoSubscriber.doError(LambdaMonoSubscriber.java:155) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.LambdaMonoSubscriber.onError(LambdaMonoSubscriber.java:150) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.FluxMap$MapSubscriber.onError(FluxMap.java:134) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:93) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:93) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onError(MonoPeekTerminal.java:258) ~[reactor-core-3.5.0.jar!/:3.5.0]
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:201) ~[reactor-core-3.5.0.jar!/:3.5.0]
at com.mongodb.reactivestreams.client.internal.MongoOperationPublisher.lambda$sinkToCallback$31(MongoOperationPublisher.java:573) ~[mongodb-driver-reactivestreams-4.8.0.jar!/:na]
at com.mongodb.reactivestreams.client.internal.OperationExecutorImpl.lambda$execute$2(OperationExecutorImpl.java:94) ~[mongodb-driver-reactivestreams-4.8.0.jar!/:na]
at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.async.function.AsyncCallbackSupplier.lambda$whenComplete$1(AsyncCallbackSupplier.java:97) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.async.function.RetryingAsyncCallbackSupplier$RetryingCallback.onResult(RetryingAsyncCallbackSupplier.java:111) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.async.function.AsyncCallbackSupplier.lambda$whenComplete$1(AsyncCallbackSupplier.java:97) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.async.function.AsyncCallbackSupplier.lambda$whenComplete$1(AsyncCallbackSupplier.java:97) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.operation.FindOperation$1.onResult(FindOperation.java:376) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.operation.CommandOperationHelper.lambda$transformingReadCallback$10(CommandOperationHelper.java:323) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.connection.LoadBalancedServer$LoadBalancedServerProtocolExecutor.lambda$executeAsync$0(LoadBalancedServer.java:182) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.connection.CommandProtocolImpl$1.onResult(CommandProtocolImpl.java:82) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection$1.onResult(DefaultConnectionPool.java:683) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.connection.UsageTrackingInternalConnection$2.onResult(UsageTrackingInternalConnection.java:159) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.connection.InternalStreamConnection$2.onResult(InternalStreamConnection.java:496) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.connection.InternalStreamConnection$2.onResult(InternalStreamConnection.java:490) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.async.ErrorHandlingResultCallback.onResult(ErrorHandlingResultCallback.java:46) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.connection.InternalStreamConnection$3.failed(InternalStreamConnection.java:604) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.connection.netty.NettyStream$2.operationComplete(NettyStream.java:256) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.connection.netty.NettyStream$2.operationComplete(NettyStream.java:252) ~[mongodb-driver-core-4.8.0.jar!/:na]
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:552) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:609) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetFailure(AbstractChannel.java:999) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:860) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1367) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:877) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1247) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
Caused by: com.mongodb.MongoSocketWriteException: Exception sending message
at com.mongodb.internal.connection.InternalStreamConnection.translateWriteException(InternalStreamConnection.java:687) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.connection.InternalStreamConnection.access$700(InternalStreamConnection.java:89) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.internal.connection.InternalStreamConnection$3.failed(InternalStreamConnection.java:604) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.connection.netty.NettyStream$2.operationComplete(NettyStream.java:256) ~[mongodb-driver-core-4.8.0.jar!/:na]
at com.mongodb.connection.netty.NettyStream$2.operationComplete(NettyStream.java:252) ~[mongodb-driver-core-4.8.0.jar!/:na]
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:578) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:552) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:491) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:616) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:609) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetFailure(AbstractChannel.java:999) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:860) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1367) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:877) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:940) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1247) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
Caused by: io.netty.channel.StacklessClosedChannelException: null
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
Caused by: java.io.IOException: Broken pipe
at java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[na:na]
at java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:62) ~[na:na]
at java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:137) ~[na:na]
at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:81) ~[na:na]
at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:58) ~[na:na]
at java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:532) ~[na:na]
at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:415) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:931) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:354) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:895) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1372) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:921) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:907) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:893) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.handler.ssl.SslHandler.forceFlush(SslHandler.java:2138) ~[netty-handler-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.handler.ssl.SslHandler.wrapAndFlush(SslHandler.java:803) ~[netty-handler-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.handler.ssl.SslHandler.flush(SslHandler.java:780) ~[netty-handler-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.handler.ssl.SslHandler.flush(SslHandler.java:1972) ~[netty-handler-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.handler.ssl.SslHandler.closeOutboundAndChannel(SslHandler.java:1941) ~[netty-handler-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.handler.ssl.SslHandler.close(SslHandler.java:731) ~[netty-handler-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:753) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:727) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:560) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at com.mongodb.connection.netty.NettyStream$InboundBufferHandler.exceptionCaught(NettyStream.java:431) ~[mongodb-driver-core-4.8.0.jar!/:na]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:317) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.handler.ssl.SslHandler.exceptionCaught(SslHandler.java:1105) ~[netty-handler-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:317) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.exceptionCaught(DefaultChannelPipeline.java:1377) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.DefaultChannelPipeline.fireExceptionCaught(DefaultChannelPipeline.java:907) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.handleReadException(AbstractNioByteChannel.java:125) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:177) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[netty-transport-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.85.Final.jar!/:4.1.85.Final]