[SERVER-26499] SIGKILL during MMAPv1 namespace file creation can lead to invalid file size and will block mongod startup Created: 06/Oct/16  Updated: 06/Dec/22  Resolved: 14/Sep/18

Status: Closed
Project: Core Server
Component/s: MMAPv1, Stability, Storage
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: James Wahlin Assignee: Backlog - Storage Execution Team
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Duplicate
is duplicated by SERVER-21475 Powercycle: mongod cannot recover if ... Closed
Related
related to SERVER-27156 disable no-journal hard kill in repl7.js Closed
related to SERVER-27884 Remove hard kill testing for master/s... Closed
Assigned Teams:
Storage Execution
Operating System: ALL
Participants:
Linked BF Score: 15

 Description   

When we create namespace files under MMAPv1 we create and initialize to 0 the contents in 1MB increments. If mongoD receives a SIGKILL during this process, it is possible for a file to be written that does not fall on a 1MB boundary which is larger than the guaranteed atomic write size (at least by default, both on Linux and Windows with our current implementation).

When mongoD is restarted with the invalid namespace file in place, it will fatally assert when it finds that this file is not a multiple of 1MB.


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