-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Sharding
-
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.