-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
Affects Version/s: 2.2.5
-
Component/s: None
I'm having an issue with a "no mongos proxy available" error being returned in v2.2.5.
After some investigation I've identified that the issue is due to the heartbeat used for the high availability checks causing the proxies to be marked as disconnected.
When listening for the "serverHeartbeatFailed" event (NB. I think there is a typo in the name of the event that is fired for this) I can see that the heartbeat fails with a message of "no connection available for monitoring". This heartbeat failure results in the proxy being marked as disconnected (until the high availability check reconnects it).
Looking at the failure message I can see that it comes from the connection pool and is fired if we have reached the max pool size or if there is no connection available and we currently have a connecting connection (even if we haven't reached the max pool size). This means that proxies are temporarily taken out of action just because there wasn't a connection available at that point in time to execute the heartbeat request.