-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 1.2-beta0
-
Component/s: None
-
None
When mongoc_cluster_try_recv() fails for example with a timeout, the node is disconnected using mongoc_cluster_disconnect_node().
The mongoc_cluster_disconnect_node() is implemented :
void mongoc_cluster_disconnect_node (mongoc_cluster_t *cluster, uint32_t server_id) { if (cluster->client->topology->single_threaded) { return; } mongoc_set_rm(cluster->nodes, server_id); }
In the case where the caller calls mongoc_topology_invalidate_server() works out in the end, but that is not always the case (like destroying cursor in exhaust mode, or writev_full() failure)
- related to
-
CDRIVER-683 Temporary write failure does not disconnect node
- Closed
-
CDRIVER-830 Exhaust cursors must destroy the stream if it hasn't finished
- Closed