-
Type: Bug
-
Resolution: Fixed
-
Priority: Critical - P2
-
Affects Version/s: 1.1.3
-
Component/s: Connections
-
None
-
(copied to CRM)
When mongod is started after a client using SSL, heartbeat connections never succeed. When SSL is not used, the heartbeats correctly pick up once mongod is ready to receive connections.
https://github.com/pmeredit/sqlproxy/tree/BI-2413
Is a branch of sqlproxy with a repro of this issue.
https://github.com/pmeredit/sqlproxy/blob/BI-2413/REPRO_README.txt
Describes how to run the repro.
EDIT: The root cause of this issue is that custom dialers return connections that appear to be non-nil but have a nil value due to the nil interface issue (https://golang.org/doc/faq#nil_error). In the heartbeat code, the driver should only call nc.Close if the branch that executes a heartbeat is taken (https://github.com/mongodb/mongo-go-driver/blob/master/x/mongo/driver/topology/server.go#L543).
- related to
-
GODRIVER-1442 Fix connection error handling in ProcessError
- Closed
-
GODRIVER-2432 Improve panic handling in background processes
- Closed