Gettng exception in mongodb monitor thread while connection with moralis mongo db

Hi,
I am getting below exception in the monitor thread. While I am able to make successful queries to mongo db, but the below exceptions are coming very few seconds.

connecting to server xxx.xxx.xxx.xxx:56728
com.mongodb.MongoSocketReadException: Prematurely reached end of stream
	at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:112)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:580)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:445)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:299)
	at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:259)
	at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83)
	at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33)
	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:105)
	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:62)
	at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:129)
	at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117)
	at java.lang.Thread.run(Thread.java:748)
2022-03-31 16:37:07,797 [INFO] build_number:- from com.jrx.game.stats.api.schedulers.SinglePlayerSessionGameEndScheduler in pool-56-thread-1 - run: started SinglePlayerSessionGameEndScheduler
2022-03-31 16:37:07,799 [INFO] build_number:- from com.jrx.game.stats.api.schedulers.SinglePlayerSessionGameEndScheduler in pool-56-thread-1 - run: ended SinglePlayerSessionGameEndScheduler
2022-03-31 16:37:10,469 [INFO] build_number:- from org.mongodb.driver.cluster in cluster-ClusterId{value='62458903725e61157c84a5d5', description='null'}-xxx.xxx.xxx.xxx:56728 - Exception in monitor thread while connecting to server xxx.xxx.xxx.xxx:56728
com.mongodb.MongoSocketReadException: Exception receiving message
	at com.mongodb.internal.connection.InternalStreamConnection.translateReadException(InternalStreamConnection.java:569)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:448)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:299)
	at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:259)
	at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83)
	at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33)
	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:105)
	at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:62)
	at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:129)
	at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(SocketInputStream.java:210)
	at java.net.SocketInputStream.read(SocketInputStream.java:141)
	at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:109)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:580)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:445)

Any help is much appreciated.

what command/code you run when you get that error?

it looks like the connection was lost

Caused by: java.net.SocketException: Connection reset

The above exception is coming in monitoring thread, so even if there is no active querying from mongodb, the exception is coming every 20~30 seconds. And its not a intermittent issue, coming between constant interval.

I don’t know exactly what it happens. It looks like the connection automatically closes if it is not used a period of time. Maybe it needs some settings in order to keep the connection alive.

I created a local instance of mongodb and used it in the existing code. Didn’t found the above exception.

That instance is it over the network. It is not the same thing.

Did you try it with more than one server?

Hey, it was totally by bad. There was no issue as such. I was trying to connect to 2 mongo dbs , and for one my servers were not whitelisted. Sorry about causing the confusion. We can close the topic.

1 Like