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

Not allow tenant migration donor to write "commitIndexBuild" oplog entries after migration enters blocking state

    • Fully Compatible
    • Sharding 2020-11-16

      Currently, the tenant migration donor is allowed to write both "commitIndexBuild" and "abortIndexBuild" oplog entries with oplog timestamp greater than the blockTimestamp, since if the donor doesn't write either a commit or abort oplog entry, some resources will not be released on the donor node and this can lead to deadlocks.

      Since the recipient doesn't clone oplog entries beyond the blockTimestamp, it is safe to allow the donor to write "abortIndexBuild" oplog entries after the blockTimestamp. With that, it is also safe to reject "commitIndexBuild" oplog entries after the blockTimestamp since the donor would be able to abort and clean up an index build that fails due to migration conflict. 

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

              Created:
              Updated:
              Resolved: