-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Networking & Observability
-
None
-
None
-
None
-
None
-
None
-
None
-
None
We have both a driver timeout and a server timeout. The first is necessary in case the server hangs, and the second is important for server load shedding.
The behavior of the driver to these two timeouts is different (disconnect on driver timeout, retain connection on receiving server timeout message). We're currently setting the two timeouts so that the timing should result in the driver seeing both near-identically (maxTimeMS = driver timeout - rtt), so which behavior we see depends on a race. It seems like we should prefer one kind of behavior, and set one timeout slightly lower so we see it more often when both timeouts are hit.
Slack thread this came out of: https://mongodb.enterprise.slack.com/archives/C8PK5KZ5H/p1755710382777099
Driver spec we'd need to change if we wanted different behavior: https://mongodb.slack.com/archives/C8PK5KZ5H/p1755714985326219?thread_ts=1755710382.777099&cid=C8PK5KZ5H