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

Make index_operations_abort_concurrent_outgoing_migrations.js only check that index commands did not run on recipient when the commands are run after steady state is reached

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.3.3
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
      None
    • Fully Compatible
    • ALL
    • Sharding 2020-01-27
    • 20

      The assertion for the dropIndexes test here assumes that the recipient shard always finishes cloning the collection options and the missing indexes from the donor before dropIndexes aborts the migration. However, this is not always true. The listIndexes run by the assertion could sometimes fail with NamespaceNotFound because the collection does not exist on the recipient.

      Similarly, the assertion for the collMod test here assumes that the recipient shard always finishes cloning the collection options before collMod is run and aborts the migration. This is again not always true. The command could finish running before the recipient starts cloning the collection. 

      Therefore, these two assertions are only expected to pass when the index commands are run after the steady state is reached.

            Assignee:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Reporter:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: