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

Handle ConflictingOperationInProgress errors for non-transaction createIndexes in CRUD_and_commands_with_createindexes.js

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.9.0
    • None
    • None
    • Fully Compatible
    • ALL
    • Execution Team 2021-01-25
    • 11

    Description

      CRUD_and_commands_with_createindexes.js concurrently runs createIndexes and dropCollection on the same namespace, which can lead to ConflictingOperationInProgress errors if the createIndexes triggers a shard version refresh that finds chunks no longer exist for the collection because of a concurrent drop.

      Currently this test handles that error by appending a TransientTransactionError error label to the response in suites that set TestData.runInsideTransaction to true, which triggers an automatic retry if the command is running in a transaction. The command may not be in a transaction even if that flag is set, and in this case, the error label will still be attached but there will be no retry, and the test will fail.

      Instead, ConflictingOperationInProgress should either be retried on or ignored, since it is an expected error under these conditions.

      Attachments

        Activity

          People

            dan.larkin-york@mongodb.com Dan Larkin-York
            jack.mulrow@mongodb.com Jack Mulrow
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: