[DOCS-12088] Docs for SERVER-19815: Make repair more robust with the WiredTiger storage engine Created: 27/Sep/18  Updated: 13/Nov/23  Resolved: 30/Oct/18

Status: Closed
Project: Documentation
Component/s: manual, Server
Affects Version/s: None
Fix Version/s: 4.0.3, 4.1.4, Server_Docs_20231030, Server_Docs_20231106, Server_Docs_20231105, Server_Docs_20231113

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

Issue Links:
Documented
documents SERVER-19815 Improved mongod --repair option for W... Closed
Duplicate
Participants:
Days since reply: 5 years, 15 weeks, 1 day ago
Epic Link: DOCS: 4.2 Server/Tools

 Description   

Description

Description:

(document with discretion)

Starting mongod with --repair on a WiredTiger data directory now handles and recovers from the following scenarios:

  • Corrupt .wt files (existing behavior)
    • Collections are salvaged by discarding corrupt data
    • Indexes are unconditionally rebuilt
  • Missing .wt data files (for both collections and indexes)
  • Unsalvageable collection data files
    • SERVER-35782 Repair moves aside unsalvageable data files and creates empty ones in their place
  • Corrupt WiredTiger metadata files
    • SERVER-35629 Salvage corrupt WiredTiger.wt/WiredTiger.turtle files by discarding corrupt data
  • “Orphaned” data files
    • SERVER-28734 Recover collection files missing from the WiredTiger.wt metadata
    • SERVER-35696 Recover collection files missing from the _mdb_catalog
    • Note: there is no support for "importing" files that are missing from both metadata sources

Additionally, --repair has the following new behavior:

  • SERVER-35731 If a repair operation modifies data, the node will not be able to rejoin a replica set without a full resync
    • Note: if a repair operation fails for any reason, the node will be unable to start up again without the --repair option.
  • SERVER-28990 MongoDB will not bind to a port when started with --repair.
  • SERVER-36208 The repairDatabase command has been removed in 4.1

Engineering Ticket Description:

The repair loop should be more forgiving about failures such as missing files and deal with collections or indexes missing from the catalog with a big warning message.

Scope of changes

  • In 4.0, separate out a bit more --repair/repairDatabase (i.e. don't single source as much) so that we can more easily port to 4.2

Impact to Other Docs

MVP (Work and Date)

Resources (Scope or Design Docs, Invision, etc.)



 Comments   
Comment by Githook User [ 30/Oct/18 ]

Author:

{'name': 'kay', 'email': 'kay.kim@10gen.com', 'username': 'kay-kim'}

Message: DOCS-12088: v4.0 --repair changes
Branch: master
https://github.com/mongodb/docs/commit/09cec681e5666239e074b28663e252b32ee71855

Comment by Githook User [ 30/Oct/18 ]

Author:

{'name': 'kay', 'email': 'kay.kim@10gen.com', 'username': 'kay-kim'}

Message: DOCS-12088: v4.0 --repair changes
Branch: v4.0
https://github.com/mongodb/docs/commit/ac42170670c046954a2c60196c8a2ceb29a532be

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