[SERVER-39453] Add initial sync support for simultaneous index builds Created: 08/Feb/19  Updated: 29/Oct/23  Resolved: 19/Feb/20

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

Type: Task Priority: Major - P3
Reporter: Dianna Hohensee (Inactive) Assignee: Benety Goh
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-37980 Add a function to the index builds in... Closed
Related
related to SERVER-39087 move initial sync index creation logi... Closed
related to SERVER-41598 Elevate a mock storage engine impleme... Closed
is related to SERVER-28151 Authentication database should be syn... Closed
is related to SERVER-46659 Make initial sync work with two phase... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2020-02-24
Participants:

 Description   

Leverage listIndexes with its includeIndexBuilds optional flag to retrieve both ready and in-progress indexes. It looks like listIndexes results that are in-prog have a buildUUID flag to distinguish themselves.

Ready indexes should be built as is done in v4.0. In-progress indexes will be started asynchronously.

Read the relevant design documents sections for details / edge case handling.



 Comments   
Comment by Githook User [ 19/Feb/20 ]

Author:

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

Message: SERVER-39453 initial sync ignores in-progress index builds when cloning collections
Branch: master
https://github.com/mongodb/mongo/commit/fcac5c203ad459cffc85d38c26058ea8a84fb9a3

Comment by Githook User [ 19/Feb/20 ]

Author:

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

Message: SERVER-39453 add js tests for initial sync while an index build is in progress
Branch: master
https://github.com/mongodb/mongo/commit/43fa49eeee1f387787af3bfcf7d5ed20c915393c

Comment by Githook User [ 19/Feb/20 ]

Author:

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

Message: SERVER-39453 add DBClientBase::getReadyIndexSpecs()
Branch: master
https://github.com/mongodb/mongo/commit/21692cab486977a3c70f1a2a746ff12e5ffa3358

Comment by Githook User [ 19/Feb/20 ]

Author:

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

Message: SERVER-39453 move StorageEngineMock out of CollectionCatalogTest into its own header

create mode 100644 src/mongo/db/storage/storage_engine_mock.h
Branch: master
https://github.com/mongodb/mongo/commit/b77010cab2386a58e05b6ffaa04921c43578467c

Comment by Benety Goh [ 18/Feb/20 ]

Starting in 3.6 (and 3.4.14), we copy the admin database from the sync source before copying the rest of the databases reported by listDatabases. This has the side effect of setting the FCV - making it possible to check for two phase index build support when cloning a non-admin collection.

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