[SERVER-37726] Make dropIndexes abort in-progress index builds Created: 24/Oct/18  Updated: 29/Oct/23  Resolved: 18/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: Gregory Wlodarek
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 DRIVERS-1253 Make dropIndexes abort in-progress in... Closed
is depended on by SERVER-37637 Standalone mode nodes should ignore i... Closed
Documented
is documented by DOCS-13420 Investigate changes in SERVER-37726: ... Closed
Duplicate
duplicates SERVER-32033 Allow dropIndex to succeed when index... Closed
is duplicated by SERVER-33634 Allow dropDatabase (and dropCollectio... Closed
Gantt Dependency
has to be done after SERVER-37727 Enhance dropIndexes to accept multipl... Closed
has to be done after SERVER-37763 Make it possible to abort index builds Closed
Problem/Incident
causes CDRIVER-3655 Tests checking for "ns not found" mus... Closed
causes PYTHON-2129 Use error code to check for Namespace... Closed
Related
related to SERVER-21307 Replicated DDL (catalog) operation du... Closed
related to SERVER-48271 createIndexes command in fsm_workload... Closed
related to SERVER-39976 Two-phase index builds on primaries s... Closed
related to SERVER-46012 Aborting index builders through the I... Closed
related to SERVER-45988 add IndexBuildAborted to list of acce... Closed
is related to SERVER-21307 Replicated DDL (catalog) operation du... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2020-02-10, Execution Team 2020-02-24
Participants:
Linked BF Score: 11

 Description   

dropIndexes should abort in-progress index builds. This should be done after SERVER-37763 makes it possible to abort an index build.

SERVER-37727 will enhance dropIndexes to receive an array of indexes as arguments. This task will only abort in-progress index builds if the user specifies all of the indexes that a single builder is building together. A createIndexes command can start multiple indexes building together on one builder and we currently only have the granularity to abort all or none of the indexes on a builder.

Lastly, dropIndexes will not write a dropIndexes oplog entry if aborting in-progress builds. Aborting the index will produce an abortIndexBuilds oplog entry, which suffices. This allows rollback via refetch to know that an index was fully built prior to a dropIndexes oplog entry.



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

Author:

{'username': 'GWlodarek', 'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com'}

Message: SERVER-37726 Make dropIndexes abort in-progress index builds
Branch: master
https://github.com/mongodb/mongo/commit/cc221d2e8b7ba07811af7f06e8ae992e19cc6901

Comment by Githook User [ 15/Feb/20 ]

Author:

{'username': 'GWlodarek', 'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com'}

Message: SERVER-37726 Concurrency suites creating and dropping indexes should expect the IndexBuildAborted error code
Branch: master
https://github.com/mongodb/mongo/commit/2a21a10de4811ccf12bab99f754a36afacf95f2b

Comment by Githook User [ 15/Feb/20 ]

Author:

{'username': 'GWlodarek', 'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com'}

Message: SERVER-37726 Add the ability to abort an index builder by the index names it is building
Branch: master
https://github.com/mongodb/mongo/commit/5dc54d468de771439ed1ede394ad949502c0e99c

Comment by Githook User [ 15/Feb/20 ]

Author:

{'username': 'GWlodarek', 'name': 'Gregory Wlodarek', 'email': 'gregory.wlodarek@mongodb.com'}

Message: SERVER-37726 Add the ability for the CollectionIndexBuildsTracker to wait until the requested index build is finished
Branch: master
https://github.com/mongodb/mongo/commit/aa158f01816a38e7cc622f34a3bd3446010295a0

Comment by Benety Goh [ 23/Jan/20 ]

Once this work gets underway, we should review the impact on SERVER-32033 and SERVER-21307.

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