[SERVER-49301] remove startingAfterUncleanShutdown decorator Created: 02/Jul/20  Updated: 29/Oct/23  Resolved: 01/Aug/20

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

Type: Improvement Priority: Minor - P4
Reporter: Benety Goh Assignee: Benety Goh
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Gantt Dependency
has to be done after SERVER-48050 FCV should be initialized before atte... Closed
has to be done after SERVER-49163 extend internal index build interface... Closed
Related
is related to SERVER-33159 RTT storage recovery from unclean shu... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2020-07-27, Execution Team 2020-08-10
Participants:

 Description   

TLDR: Investigate an alternate method of providing information on previous unclean shutdown to catalog initialization functions during startup.

The startingAfterUncleanShutdown decorator was introduced in SERVER-33159 and is used when loading the catalog and reconciling unrecognized idents in the filesystem. The value of this decorator is derived from the state of the mongod.lock file at startup.

The functions that use this decorator are also used during rollback which requires us to have to unset this decorator before completing the startup process.

To stop using the decorator, we should consider retaining the previous shutdown state in the mongod startup function and pass that information directly to the catalog initialization process.



 Comments   
Comment by Githook User [ 01/Aug/20 ]

Author:

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

Message: SERVER-49301 remove startingAfterUncleanShutdown decorator
Branch: master
https://github.com/mongodb/mongo/commit/d4e44c7c61512e7e823a4e46e91ab393b7d4b8fc

Comment by Githook User [ 01/Aug/20 ]

Author:

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

Message: SERVER-49301 StorageEngine::loadCatalog() accepts previous shutdown state rather than checking decorator for handling orphaned idents
Branch: master
https://github.com/mongodb/mongo/commit/12e5de609fff3086168681a15133656509ccf42b

Comment by Githook User [ 31/Jul/20 ]

Author:

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

Message: SERVER-49301 StorageEngineImpl::reconcileCatalogAndIdents() accepts policy for internal idents instead of checking unclean shutdown decorator
Branch: master
https://github.com/mongodb/mongo/commit/e7612ffc6eff9a30ff4e45f85c00636d5ba067c4

Comment by Githook User [ 31/Jul/20 ]

Author:

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

Message: SERVER-49301 add StorageEngineOptions::lockFileCreatedByUncleanShutdown
Branch: master
https://github.com/mongodb/mongo/commit/78475cb897e55ed5c17dc76add59ef85baa4fd62

Comment by Githook User [ 30/Jul/20 ]

Author:

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

Message: SERVER-49301 repairDatabasesAndCheckVersion() accepts previous server shutdown state
Branch: master
https://github.com/mongodb/mongo/commit/fd4aac328ae7ce54d4d68f43ce30c145d8a63646

Comment by Githook User [ 30/Jul/20 ]

Author:

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

Message: SERVER-49301 initializeStorageEngine() returns previous server shutdown state (clean/unclean)
Branch: master
https://github.com/mongodb/mongo/commit/06169f718a7aec04f952979ffa6590e4334dea5a

Comment by Benety Goh [ 18/Jul/20 ]

Putting on hold until SERVER-48050 and SERVER-49163 are merged.

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