[SERVER-42357] Periodically release locks during collection validation and check for interrupts Created: 23/Jul/19  Updated: 29/Oct/23  Resolved: 13/Sep/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: 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
depends on SERVER-30357 Allow users to run the validate cmd w... Closed
depends on SERVER-42226 Use the maxValidateMBperSec server pa... Closed
depends on SERVER-42978 Move validate lock acquisition from t... Closed
depends on SERVER-41811 Deduplicate CollectionValidation::_ge... Closed
depends on SERVER-42966 Remove references from helper classes... Closed
is depended on by SERVER-42358 Add background collection validation ... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2019-08-26, Execution Team 2019-09-09, Execution Team 2019-09-23
Participants:

 Description   

Necessary in order to allow concurrent DDL operations.

Drop collection and drop index ops should cause the validate cmd to abort with an error.

Create index should not cause failure, so may require special handling in index iteration somehow? (haven't thought it out).

Index creation and validate should run concurrently without interrupting the validate work. (have not thought this out, but we might need filtering on the index iteration, maybe by timestamp?? – e.g. save a start timestamp, use it to filter the indexes)



 Comments   
Comment by Githook User [ 13/Sep/19 ]

Author:

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

Message: SERVER-42357 Periodically release locks during collection validation and check for interrupts
Branch: master
https://github.com/mongodb/mongo/commit/70e3c4ddf8fa4fd53e2a9f427b3257891eca0e01

Comment by Githook User [ 13/Sep/19 ]

Author:

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

Message: SERVER-42357 Modify the exclusive lock to be an intent lock in Database::isDropPending()
Branch: master
https://github.com/mongodb/mongo/commit/2ea0f36818d37cc790aa117cb23e9b6f976ffd43

Comment by Githook User [ 13/Sep/19 ]

Author:

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

Message: SERVER-42357 Add additional state to the IndexCatalogEntry to track when it is dropped
Branch: master
https://github.com/mongodb/mongo/commit/4acaa3f536fe2f3fc2355c7a3e860663201c6f37

Comment by Dianna Hohensee (Inactive) [ 20/Aug/19 ]

We are going to have to pull things like this https://github.com/mongodb/mongo/blob/99593e1255dde3320ac330599311e3481a1ac0e0/src/mongo/db/catalog/index_consistency.h#L144-L145 out of subclasses to support relock.

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