[SERVER-38548] Leverage the KVDropPendingIdentReaper and TimestampMonitor to make index drops two-phase Created: 11/Dec/18  Updated: 29/Oct/23  Resolved: 01/Jan/19

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

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:
Duplicate
is duplicated by SERVER-37733 Optimize rollback via refetch of drop... Closed
Related
related to SERVER-37730 Make the index catalog timestamp aware Closed
related to SERVER-38769 rollback should not write rollback fi... Closed
is related to SERVER-38910 Remove redundant rollback handling on... Closed
Backwards Compatibility: Fully Compatible
Sprint: Storage NYC 2018-12-31, Storage NYC 2019-01-14
Participants:

 Description   

Probably need to remove the special rollback logic for recreating the index when a drop is rolled back. Recover to a stable timestamp reverts the __mdb_catalog back to a time when the index catalog entry was present, but a WT table drop cannot be rolled back, so the index is specially recreated during rollback. We will need special logic either to remove pending drop idents from the ident reaper or reset the ident reaper during rollback.



 Comments   
Comment by Githook User [ 01/Jan/19 ]

Author:

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

Message: SERVER-38548 dropping an index removes catalog entry immediately and defers ident drop

If drop-pending idents are supported by the storage engine, catalog::openCatalog() will not need
to rebuild the indexes on rollback/recovery. Instead, the storage engine will manage the removal
of the idents from disk.
Branch: master
https://github.com/mongodb/mongo/commit/671f529e1f0a3f6b5701d6ada2331099e7e72f4a

Comment by Githook User [ 31/Dec/18 ]

Author:

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

Message: SERVER-38548 clean up KVCollectionCatalogEntry to support drop-pending idents.

constructor accepts KVStorageEngineInterface instead of KVEngine
RemoveIndexChange accepts index namespace and name
Branch: master
https://github.com/mongodb/mongo/commit/f721066e5e9db5439a2fd2a4de628e0587e36a1a

Comment by Githook User [ 31/Dec/18 ]

Author:

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

Message: SERVER-38548 move IndexDescriptor::makeIndexNamespace() to NamespaceString
Branch: master
https://github.com/mongodb/mongo/commit/7a0d93bae000826c5dc27d261e1a7e348c24a559

Comment by Githook User [ 31/Dec/18 ]

Author:

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

Message: SERVER-38548 add missing ns field to index specs in kv engine tests
Branch: master
https://github.com/mongodb/mongo/commit/63bfdedec32acbfe3279c5b7ebcbdcd00c9ff23d

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