[SERVER-50598] Not allow tenant migration donor to write "commitIndexBuild" oplog entries after migration enters blocking state Created: 28/Aug/20  Updated: 29/Oct/23  Resolved: 12/Nov/20

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 4.9.0

Type: Task Priority: Major - P3
Reporter: Cheahuychou Mao Assignee: Cheahuychou Mao
Resolution: Fixed Votes: 0
Labels: pm-1791_milestone-A
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Sharding 2020-11-16
Participants:

 Description   

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. 



 Comments   
Comment by Githook User [ 12/Nov/20 ]

Author:

{'name': 'Cheahuychou Mao', 'email': 'mao.cheahuychou@gmail.com', 'username': 'cheahuychou'}

Message: SERVER-50598 Not allow tenant migration donor to write "commitIndexBuild" oplog entries after migration enters blocking state
Branch: master
https://github.com/mongodb/mongo/commit/3303e75b2ee255140ef5c25b55cb38adf2d4c089

Generated at Thu Feb 08 05:23:04 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.