Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-104167

Stop ignoring maxTimeMSOpOnly for hellos

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 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.

            Assignee:
            Unassigned Unassigned
            Reporter:
            ryan.berryhill@mongodb.com Ryan Berryhill
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: