[CDRIVER-2075] Retry ismaster calls once Created: 02/Mar/17  Updated: 30/Jun/17  Resolved: 30/Jun/17

Status: Closed
Project: C Driver
Component/s: libmongoc
Affects Version/s: 1.2
Fix Version/s: 1.7.0

Type: Improvement Priority: Major - P3
Reporter: A. Jesse Jiryu Davis Assignee: A. Jesse Jiryu Davis
Resolution: Done Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to CDRIVER-2172 Call "ping" on a socket that has been... Closed

 Description   

Obey SDAM's requirement that if an isMaster call fails for a server that was previously available, retry it once.

I think this means that if a mongoc_async_cmd_t fails for a server that had been in a state besides MONGOC_SERVER_UNKNOWN, it should be replaced with a new mongoc_async_cmd_t, in the midst of a single call to mongoc_async_run, and it should be granted connectTimeoutMS from that moment until it times out or fails. Then the server is really unknown and shouldn't be tried again during this mongoc_async_run call.



 Comments   
Comment by Githook User [ 30/Jun/17 ]

Author:

{u'username': u'ajdavis', u'name': u'A. Jesse Jiryu Davis', u'email': u'jesse@mongodb.com'}

Message: CDRIVER-2075 retry ismaster once

Server Discovery and Monitoring Spec: "Once a server is connected, the
client MUST change its type to Unknown only after it has retried the
server once."
Branch: master
https://github.com/mongodb/mongo-c-driver/commit/ebb485ff0c1d6f25535ec015ef3e88691bd3129a

Generated at Wed Feb 07 21:14:05 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.