[SERVER-7096] Failure to journal setting 0xEEEEEEEE in NamespaceDetails::addDeletedRec Created: 21/Sep/12  Updated: 15/Feb/13  Resolved: 23/Sep/12

Status: Closed
Project: Core Server
Component/s: Internal Code, Storage
Affects Version/s: 2.0.7, 2.2.0
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Tad Marshall Assignee: Tad Marshall
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Participants:

 Description   

In NamespaceDetails::addDeletedRec() at line 222 in mongo/db/namespace_details.cpp in today's master branch, the write of "0xeeeeeeee" is not added to the journal list with getDur()->writingPtr(). This is defensive code where we do not expect this value to ever be seen because deleted records are not supposed to be read as data, but we have seen cases where the log shows "Assertion: 10334:Invalid BSONObj size: -286331154 (0xEEEEEEEE)" so we know that this can happen.

It is not clear that this bug is the cause of this error, but the code is wrong; all writes to memory mapped files should be journaled.



 Comments   
Comment by Tad Marshall [ 23/Sep/12 ]

Not a bug. I misread the 'sizeof(Record)' as referencing the record header only, but Record includes the first 4 bytes of the data, so this write of 0xeeeeeeee is journaled. Sorry for the false alarm.

Generated at Thu Feb 08 03:13:37 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.