-
Type: Improvement
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Connection Management
-
Labels:None
a client using the java driver encounters exceptions when reading from a server that gets restarted gracefully, although another node is up and available for reads.
I use a topology of 2 nodes, with one being set as a fixed primary for my tests. on the client side I use read mode primaryPreferred. during the test, I constantly query a collection while repeatdly restarting the primary using the windows service. the expectation is that a read never fails because: 1) the primary is gracefully restarted and 2) the secondary is always up and running.
during the course of running the test, I get exceptions on the client side from time to time. so far I identified these 2:
java.lang.NullPointerException at com.mongodb.DBTCPConnector$MyPort.error(DBTCPConnector.java:470) at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:281) at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:290) at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:275) at com.mongodb.DBCollection.findOne(DBCollection.java:727) at com.mongodb.DBCollection.findOne(DBCollection.java:669) at com.lodh.arte.test.robustmongo.ReproducerPrimaryPreferredSystemTest.readSecondary(ReproducerPrimaryPreferredSystemTest.java:87)
com.mongodb.MongoException: not talking to master and retries used up at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:304) at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:306) at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:306) at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:290) at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:275) at com.mongodb.DBCollection.findOne(DBCollection.java:727) at com.mongodb.DBCollection.findOne(DBCollection.java:669) at com.lodh.arte.test.robustmongo.ReproducerPrimaryPreferredSystemTest.readSecondary(ReproducerPrimaryPreferredSystemTest.java:87)