-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Component/s: Server Selection
-
Needed
The default serverSelectionTimeoutMS of 30000 may be too long a default that negatively impacts application resilience.
In general 30 seconds is too long as the server is likely unavailable and unlikely to recover within the 30 seconds. Additionally 30 seconds may match other service timeouts (ex: Heroku's Request Timeout) which when overlapped can result in user-facing errors.
Lowering the default to something like 15000 would ensure it remains above the heartbeatFrequencyMS default of 10000 and may improve application resilience by allowing faster server selection.
Note this proposed change would only impact the default value of serverSelectionTimeoutMS, which can still be configured by users as needed. There should also be no impact to Client Side Operations Timeout as serverSelectionTimeoutMS is not being deprecated.
- is duplicated by
-
RUBY-2301 Reduce default server selection timeout to 15-22 seconds
- Closed
- split to
-
CDRIVER-4514 Reduce serverSelectionTimeoutMS default value
- Blocked
-
CSHARP-4383 Reduce serverSelectionTimeoutMS default value
- Blocked
-
CXX-2607 Reduce serverSelectionTimeoutMS default value
- Blocked
-
GODRIVER-2610 Reduce serverSelectionTimeoutMS default value
- Blocked
-
JAVA-4793 Reduce serverSelectionTimeoutMS default value
- Blocked
-
MOTOR-1057 Reduce serverSelectionTimeoutMS default value
- Blocked
-
NODE-4768 Reduce serverSelectionTimeoutMS default value
- Blocked
-
PHPLIB-1030 Reduce serverSelectionTimeoutMS default value
- Blocked
-
PYTHON-3491 Reduce serverSelectionTimeoutMS default value
- Blocked
-
RUBY-3167 Reduce serverSelectionTimeoutMS default value
- Blocked
-
RUST-1527 Reduce serverSelectionTimeoutMS default value
- Blocked