[SERVER-44121] allow Index builds to opt out of the PBWM on primaries Created: 20/Oct/19  Updated: 29/Oct/23  Resolved: 25/Oct/19

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 4.3.1

Type: Improvement Priority: Major - P3
Reporter: Benety Goh Assignee: Benety Goh
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-43692 enable two phase index builds by default Closed
Related
related to SERVER-44186 allow index builds to continue runnin... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2019-10-21, Execution Team 2019-11-04
Participants:
Linked BF Score: 5

 Description   

Two phase index builds should be able to keep running on the IndexBuildsCoordinator's thread pool across replica set state transitions such as stepup and stepdown. In the case of a primary to secondary transition, an index build should not conflict with oplog application post step-down. To support this scenario, the index build should explicitly opt out of the PBWM at the beginning of the build (since the behavior for PBWM is opt-in by default).



 Comments   
Comment by Githook User [ 23/Oct/19 ]

Author:

{'username': 'benety', 'email': 'benety@mongodb.com', 'name': 'Benety Goh'}

Message: SERVER-44121 index builds managed by the IndexBuildsCoordinator should always opt out of the PBWM
Branch: master
https://github.com/mongodb/mongo/commit/a81740843b21c8dcff964bd0a168e9da7cc5225d

Comment by Githook User [ 23/Oct/19 ]

Author:

{'username': 'benety', 'email': 'benety@mongodb.com', 'name': 'Benety Goh'}

Message: SERVER-44121 IndexBuildInterceptor::drainWritesIntoIndex() yields locks only when directly by drain yield policy
Branch: master
https://github.com/mongodb/mongo/commit/1eb3e9a9b1b9792e04351ab6fd72438071560975

Comment by Githook User [ 23/Oct/19 ]

Author:

{'name': 'Benety Goh', 'username': 'benety', 'email': 'benety@mongodb.com'}

Message: SERVER-44121 IndexBuildInterceptor::drainWritesIntoIndex() accepts drain yield policy
Branch: master
https://github.com/mongodb/mongo/commit/e06784e4e65a1e11b10adc3741f1136c2b002c8b

Comment by Githook User [ 22/Oct/19 ]

Author:

{'name': 'Benety Goh', 'username': 'benety', 'email': 'benety@mongodb.com'}

Message: SERVER-44121 MultiIndexBlock::drainBackgroundWrites() accepts drain yield policy
Branch: master
https://github.com/mongodb/mongo/commit/06536b49a98e2e4fe35d023a561e7c1c47994e3a

Comment by Githook User [ 22/Oct/19 ]

Author:

{'name': 'Benety Goh', 'username': 'benety', 'email': 'benety@mongodb.com'}

Message: SERVER-44121 IndexBuildsManager::drainBackgroundWrites() accepts drain yield policy
Branch: master
https://github.com/mongodb/mongo/commit/75ae384743271ffeccbf5719475008029295785f

Comment by Githook User [ 22/Oct/19 ]

Author:

{'username': 'benety', 'email': 'benety@mongodb.com', 'name': 'Benety Goh'}

Message: SERVER-44121 add IndexBuildInterceptor::DrainYieldPolicy
Branch: master
https://github.com/mongodb/mongo/commit/17f049d0c9bf8aa5993584a2b5b107fc8e08d43f

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