[SERVER-39369] Filter index builds requests in the coordinator, register the builds on the Coordinator and set them up in the persisted catalog before changing threads Created: 04/Feb/19  Updated: 29/Oct/23  Resolved: 22/Feb/19

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

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

Issue Links:
Depends
depends on SERVER-38097 Pull the OperationContext out of Mult... Closed
depends on SERVER-39368 Refactor IndexBuildsCoordinator::_run... Closed
is depended on by SERVER-39225 Update kill_rooted_or.js / IndexBuild... Closed
Related
related to SERVER-30939 Multiple index builds on same collect... Closed
related to SERVER-41014 runCreateIndexesWithCoordinator does ... Closed
related to SERVER-50395 Investigate whether can try to resume... Closed
Backwards Compatibility: Fully Compatible
Sprint: Storage NYC 2019-02-11, Storage NYC 2019-02-25
Participants:

 Description   

This is necessary in order to register the final index builds that will be built (after filtering ready indexes and index builds) on the Coordinator, and to prevent subsequent index build duplicate request attempts (which get filtered by the index catalog) from being registered on the Coordinator (which considers that an error).

Eventually index build dupe requests will join in-progress index builds, so finalized (filtered) index builds must be correctly registered on the Coordinator synchronously before asynchronously building the index(es).

The logic flow will be

Caller thread into IndexBuildsCoordinator::startIndexBuild

  • filter index build requests
  • register on the Coordinator
  • set up builder in persisted state, MultiIndexBlock::init
    All of the above under the coordinator's mutex or a DB X lock, to force synchronization

async thread

  • run index build and clean up index build state on success/failure.


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

Author:

{'name': 'Dianna Hohensee', 'username': 'DiannaHohensee', 'email': 'dianna.hohensee@10gen.com'}

Message: SERVER-39369 Syncronously filter out in-progress/ready indexes in index build requests, register them on the Coordinator and persist in catalog
Branch: master
https://github.com/mongodb/mongo/commit/892994f5103b18961e8957bd1e002837573a53b4

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