-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Networking & Observability
-
None
-
0
-
None
-
None
-
None
-
None
-
None
-
None
In 5.0, we started sending maxTimeMSOpOnly with internal commands in SERVER-46187. This led to RSM failures during the 4.4 -> 5.0 upgrade due to exhaust hellos (used by the RSM) failing with MaxTimeMSExpired (see SERVER-57086). This was identified as a problem in SERVER-46187 and hacked over by ignoring maxTimeMSOpOnly for hello commands (here) in 5.0. To fix mixed 4.4-5.0 clusters, SERVER-57086 made it so 5.0 nodes wouldn't send maxTimeMSOpOnly to 4.4 nodes.
This hack carries on today (here).
The underlying issue seems to be something with 5.0 and 4.4 not properly handling maxTimeMSOpOnly on exhaust commands (or possibly just exhaust hellos). The exact issue isn't clear, but it seems like sending an exhaust hello with MaxTimeMSOpOnly should result in the node applying MaxTimeMSOpOnly to each individual response rather than the whole exhaust stream. However, it doesn't.
We should figure out if the underlying issue is fixed, and if so, remove the hack.
- is related to
-
SERVER-46187 MongoS doesn't pass maxTimeMS to shards for write commands
-
- Closed
-
-
SERVER-57086 Do not set inherited maxTimeMSOpOnly deadline on hello command in v4.4
-
- Closed
-