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

Move out_max_time_ms tests to serial_run suite

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.3.0-rc0, 6.0.5, 4.4.20, 5.0.16
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • v6.2, v6.0, v5.0, v4.4, v4.2
    • QE 2023-02-06
    • 7

      In https://jira.mongodb.org/browse/BF-23621 we have a problem where sometimes collection and index creation can take an arbitrarily long period of time to complete. This causes the test to fail, because if the operation takes more than 2 seconds (the current maxTimeMS value for this test), the timeout will be converted to infinite due to a bug with how timeouts are calculated while the maxTimeNeverTimeOut failpoint is enabled. If the timeout never fires, the test fails.

      Specifically, the problem is the failpoint only disables throwing an exception if maxTimeMs expires, it doesn't actually prevent the code from consuming the deadline. Therefore if the temporary collection creation takes longer than the allotted 2s to finish, it does not timeout, but surprisingly gives the remainder of the operations an infinite timeout due to this codeblock even after the failpoint is disabled. With maxTimeMs set to 0, that entire code block is skipped, and the default for new operation contexts is no timeout at all. The timeout never happens and the test fails.

      I think we can avoid this situation by running the test under the serial_run suite, which should make arbitrarily long temporary collection creations unlikely to happen.

            Assignee:
            colin.stolley@mongodb.com Colin Stolley
            Reporter:
            colin.stolley@mongodb.com Colin Stolley
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: