[SERVER-43642] Remove IndexBuilder in favor of IndexBuildsCoordinator Created: 25/Sep/19  Updated: 29/Oct/23  Resolved: 22/Nov/19

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

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

Issue Links:
Related
related to SERVER-46722 update StorageTimestampTests Timestam... Closed
is related to SERVER-14746 IndexRebuilder should only restart in... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2019-12-02
Participants:

 Description   

We still use the IndexBuilder to build indexes in the foreground thread in applyOps. This is currently only used when creating indexes with applyOps on a primary or when rebuilding indexes during replication recovery.

We have too many duplicated implementations of index building and removing this class entirely would help to prevent diverging logic.

The functionality can be entirely replaced by using the IndexBuildsCoordinator and waiting for the future, similar to what we do in create_indexes.cpp.



 Comments   
Comment by Githook User [ 22/Nov/19 ]

Author:

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

Message: SERVER-43642 move IndexLegacy::adjustIndexSpecObject() into IndexCatalogImpl implementation
Branch: master
https://github.com/mongodb/mongo/commit/a94c8741d694691471579bb082875c7be83206fb

Comment by Githook User [ 21/Nov/19 ]

Author:

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

Message: SERVER-43642 remove IndexLegacy::getMissingField()

Last reference was removed in commit 2f5feed026e1c22bce29cf2efe746d55879d4a14.
Branch: master
https://github.com/mongodb/mongo/commit/457cf7bc256105cd227fa4d362c36df7a6969de8

Comment by Githook User [ 21/Nov/19 ]

Author:

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

Message: SERVER-43642 remove IndexBuilder
Branch: master
https://github.com/mongodb/mongo/commit/725469619160f02e62d8dace122e3210594597ff

Comment by Githook User [ 20/Nov/19 ]

Author:

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

Message: SERVER-43642 createIndexesForApplyOps() uses IndexBuildsCoordinator for foreground index builds
Branch: master
https://github.com/mongodb/mongo/commit/d410d3733c768e4bbcc0e009cb4d48a7a653c7cf

Comment by Githook User [ 20/Nov/19 ]

Author:

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

Message: SERVER-43642 IndexBuildsCoordinator::createIndexes() accepts index constraints

make IndexBuildsCoordinator::updateCurOpOpDescription() public
Branch: master
https://github.com/mongodb/mongo/commit/21366accd36bd4ec40907bfc732f2ce294330606

Comment by Githook User [ 20/Nov/19 ]

Author:

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

Message: SERVER-43642 remove IndexBuilder::canBuildInBackground()
Branch: master
https://github.com/mongodb/mongo/commit/dd57325049339d9cfa95b9e6ccc7db9168e268c2

Comment by Benety Goh [ 10/Oct/19 ]

SERVER-14746 might go away once we remove the IndexBuilder.

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