There are a few places that the Go driver attempts to request an immediate server heartbeat check while processing an error:
- https://github.com/mongodb/mongo-go-driver/blob/34cb4095341a85cb6f87ea04de55a53c7a532ba4/x/mongo/driver/topology/server.go#L414
- https://github.com/mongodb/mongo-go-driver/blob/34cb4095341a85cb6f87ea04de55a53c7a532ba4/x/mongo/driver/topology/server.go#L433
That command is supposed to stop the currently running check and immediately request a new one (see here). However, calling RequestImmediateCheck doesn't cancel the current check and waitUntilNextCheck function is only run if the currently running check is cancelled, so RequestImmediateCheck basically does nothing most of the time.
- causes
-
GODRIVER-2787 Arbiter connection permanently broken after initiating the replica set
- Closed