Details
-
Bug
-
Resolution: Done
-
Major - P3
-
1.2-beta0
-
None
-
None
Description
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)
Attachments
Issue Links
- 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
-