- 
    Type:
Bug
 - 
    Resolution: Done
 - 
    Priority:
Major - P3
 - 
    None
 - 
    Affects Version/s: 2.6.5
 - 
    Component/s: Performance
 
- 
        None
 
- 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 
I've got a MongoDB replica set across two datacenters. In my second data center I have some servers that point back to the primary instance in data center 1.
I ran into a connection timeout issue (this happens pretty consistently) on the server, here is the stack trace:
com.mongodb.DBPortPool gotError
WARNING: emptying DBPortPool to 10.240.110.42:27017 b/c of error
java.net.SocketException: Connection timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(SocketInputStream.java:129)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
	at org.bson.io.Bits.readFully(Bits.java:35)
	at org.bson.io.Bits.readFully(Bits.java:28)
	at com.mongodb.Response.<init>(Response.java:39)
	at com.mongodb.DBPort.go(DBPort.java:123)
	at com.mongodb.DBPort.go(DBPort.java:82)
	at com.mongodb.DBPort.call(DBPort.java:72)
	at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:202)
	at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:303)
	at com.mongodb.DBCollection.findOne(DBCollection.java:565)
	at com.mongodb.DBCollection.findOne(DBCollection.java:554)
Is it possible for the driver to attempt recreate the connections and retry the query? It looks like the next query worked as expected.
I do not see these errors on servers in the same data center as the primary mongodb server
Note: latency between the my app server and the primary mongodb server is ~50 ms
THANKS!