Details
-
Bug
-
Resolution: Cannot Reproduce
-
Major - P3
-
None
-
None
-
None
-
STAGE
Description
We are currently having some connection problems to have persistent connections between our app->AWS ELB->mongoS
Basically we have our app layer installed in 1 server and 2 mongoS servers which are being load-balanced by a ELB in amazon.
For some reason the persistent connection gets dropped. We changed the sockectTimeout to 60 seconds which is the same timeout than the ELB, but we still get connection inconsistencies.
We are seeing this error very consistently on Test AWS Mongo cluster.
Caused by: com.mongodb.MongoException$Network: can't say something
at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:194) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:155) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:270) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:226) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBCollection.insert(DBCollection.java:75) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBCollection.insert(DBCollection.java:59) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBCollection.insert(DBCollection.java:104) ~[mongo-java-driver-2.10.1.jar:na]
at org.mongojack.JacksonDBCollection.insert(JacksonDBCollection.java:240) ~[mongojack-2.0.0-RC5.jar:na]
at com.nfl.mobile.mongo.service.AppUserServiceImpl.register(AppUserServiceImpl.java:145) ~[mongodb-user-api-1.6.1.jar:na]
... 76 common frames omitted
Caused by: java.io.EOFException: null
at org.bson.io.Bits.readFully(Bits.java:48) ~[mongo-java-driver-2.10.1.jar:na]
at org.bson.io.Bits.readFully(Bits.java:33) ~[mongo-java-driver-2.10.1.jar:na]
at org.bson.io.Bits.readFully(Bits.java:28) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.Response.<init>(Response.java:40) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBPort.go(DBPort.java:124) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBPort.go(DBPort.java:88) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBPort.findOne(DBPort.java:143) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBPort.runCommand(DBPort.java:148) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBTCPConnector._checkWriteError(DBTCPConnector.java:140) ~[mongo-java-driver-2.10.1.jar:na]
at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:183) ~[mongo-java-driver-2.10.1.jar:na]
... 84 common frames omitted
I have written an aspect to retry the operation for 3 times in case of java.io.EOFException.
Note: We are using mongo java driver 2.10.1 (http://mvnrepository.com/artifact/org.mongodb/mongo-java-driver/2.10.1)