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

Shard cursor is not killed on MaxTimeMSExpired

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.3.0-rc0, 6.0.5
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Fully Compatible
    • ALL
    • v6.2, v6.0
    • Hide

      The test max_time_ms_does_not_leak_shard_cursor.js fails sporadically and we might need to find a way to stabilise the reproduction of the problem.

      Show
      The test max_time_ms_does_not_leak_shard_cursor.js fails sporadically and we might need to find a way to stabilise the reproduction of the problem.
    • QE 2022-10-31, QE 2022-11-14, QE 2022-11-28, QE 2022-12-12, QE 2022-12-26
    • 0

      In SERVER-62710 I've discovered 2 reasons why a shard cursor might not be killed explicitly by mongos, and I've added the max_time_ms_does_not_leak_shard_cursor.js to test that. Unfortunately, the test fails regularly and sporadically (BF-24684) on all possible build variants.

      This means there are few more reasons why a shard cursor might still remain alive. In some of BFGs the shard response contains the MaxTimeMSExpired error, but the shard cursor is not deleted. In some other BFGs, the shard returns NetworkInterfaceExceededTimeLimit instead of MaxTimeMSExpired.

      Possible solution idea: the remaining time is transferred from the cursor to the opCtx. Perhaps, the timeout should be removed from opCtx at the end of getMore.

            Assignee:
            romans.kasperovics@mongodb.com Romans Kasperovics
            Reporter:
            romans.kasperovics@mongodb.com Romans Kasperovics
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: