[JAVA-1827] MongoException$Network: Read operation to server localhost:27017 failed on database ... Created: 21/May/15  Updated: 11/Sep/19  Resolved: 22/May/15

Status: Closed
Project: Java Driver
Component/s: None
Affects Version/s: 2.12.3
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Eduardo Mayer Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Grails Framework



 Description   

We started getting the below error intermittently during the last week. So far we could not trace this problem to anything in particular. The query in particular is an aggregation to a collection which has around 400k objects. We have the same application running for different clients and it started happening to clients which have passed that 400k mark. I ran the query directly and it took about 1.5 seconds.

The same exact exception took place when we were iterating over the results of another aggregation:

DBCursor cursor = db.cMD.find([colaborador: [$in: listP], data: data], [colab: 1, _id: 0])

def listW = []

while (cursor.hasNext())

{ <-- (Exception happened here) def resultMap = cursor.next().toMap() listW.add(resultMap.colab) }

2015-05-20 14:03:43,511 [quartzScheduler_Worker-6] ERROR listeners.ExceptionPrinterJobListener - Exception occurred in job: Grails Job
org.quartz.JobExecutionException: com.mongodb.MongoException$Network: Read operation to server localhost:27017 failed on database application1 [See nested exception: com.mongodb.MongoException$Network: Read operation to server localhost:27017 failed on database application1]
at grails.plugins.quartz.GrailsJobFactory$GrailsJob.execute(GrailsJobFactory.java:111)
at grails.plugins.quartz.QuartzDisplayJob.execute(QuartzDisplayJob.groovy:27)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
Caused by: com.mongodb.MongoException$Network: Read operation to server localhost:27017 failed on database application1
at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:300)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:271)
at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:84)
at com.mongodb.DB.command(DB.java:317)
at com.mongodb.DB.command(DB.java:296)
at com.mongodb.DBCollectionImpl.aggregate(DBCollectionImpl.java:99)
at com.mongodb.DBCollection.aggregate(DBCollection.java:1571)
at com.gmongo.internal.Patcher._invoke(Patcher.groovy:49)
at com.gmongo.internal.Patcher$__patchInternal_closure1.doCall(Patcher.groovy:38)
at
OUR APPLICATION CODE
at GrailsMelodyGrailsPlugin$_closure4_closure16_closure17.doCall(GrailsMelodyGrailsPlugin.groovy:184)
at
OUR APPLICATION CODE
at grails.plugins.quartz.GrailsJobFactory$GrailsJob.execute(GrailsJobFactory.java:102)
... 3 more
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at org.bson.io.Bits.readFully(Bits.java:48)
at org.bson.io.Bits.readFully(Bits.java:35)
at org.bson.io.Bits.readFully(Bits.java:30)
at com.mongodb.Response.<init>(Response.java:42)
at com.mongodb.DBPort$1.execute(DBPort.java:141)
at com.mongodb.DBPort$1.execute(DBPort.java:135)
at com.mongodb.DBPort.doOperation(DBPort.java:164)
at com.mongodb.DBPort.call(DBPort.java:135)
at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:292)
... 16 more



 Comments   
Comment by Ross Lawley [ 22/May/15 ]

Hi eduardomayer,

This error occurs when there is an exception connecting to the database, when fetching more results from a cursor. From the stacktrace I can see the root cause was: Caused by: java.net.SocketTimeoutException: Read timed out.

You'd have to look at your systems logs for insight into the reasons for the timeout. As this is expected behaviour for the driver I'm closing this ticket as "Works as designed", if you disagree then please feel free to comment and I'll review.

For future, the best place for questions regarding MongoDB usage or the Java driver specifics is the mongodb-user mailinglist or stackoverflow as you will reach a boarder audience there. If you require support within a timeline please see our production support page.

Ross

Generated at Thu Feb 08 08:55:36 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.