[SERVER-6311] FlushViewOfFile failures can result in invalid journal on Windows Created: 05/Jul/12  Updated: 11/Jul/16  Resolved: 09/Jul/12

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: 2.0.6, 2.1.2
Fix Version/s: 2.0.7, 2.2.0-rc0

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

Windows


Issue Links:
Depends
Duplicate
is duplicated by SERVER-6844 Invalid BSONObj size error causing se... Closed
Related
related to SERVER-4522 inserts take long time after several ... Closed
Operating System: Windows
Participants:

 Description   

if FlushViewOfFile fails, keep retrying for at least 15 minutes, then fassert (abort the database).
Current behavior is that after 60 seconds, it stamps a message to the log and then commits the journal from an unknown state of virtual memory.



 Comments   
Comment by auto [ 11/Jul/12 ]

Author:

{u'date': u'2012-07-11T10:58:10-07:00', u'email': u'milkie@10gen.com', u'name': u'Eric Milkie'}

Message: SERVER-6311 do not crash if FlushFileBuffers fails

Unclear what it means if it fails. It should not matter with
regard to data integrity; the critical call is FlushViewOfFile.
Branch: v2.0
https://github.com/mongodb/mongo/commit/560db9021b8862f307d8255e8c0cc3589273571e

Comment by auto [ 11/Jul/12 ]

Author:

{u'date': u'2012-07-11T10:58:10-07:00', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

Message: SERVER-6311 do not crash if FlushFileBuffers fails

Unclear what it means if it fails. It should not matter with
regard to data integrity; the critical call is FlushViewOfFile.
Branch: master
https://github.com/mongodb/mongo/commit/0b42de09a94eba7af7105991214d6aa8c7d301e5

Comment by auto [ 09/Jul/12 ]

Author:

{u'date': u'2012-07-09T13:28:24-07:00', u'name': u'Eric Milkie', u'email': u'milkie@10gen.com'}

Message: SERVER-6311 abort if FlushViewOfFile takes longer than 15 minutes

This avoids data corruption on Windows; the previous behavior gave up
after 60 seconds and then blindly continued.

Signed-off-by: Eric Milkie <milkie@10gen.com>
Branch: v2.0
https://github.com/mongodb/mongo/commit/7d3a8463b477b433b90289a35156b078d4c4b451

Comment by auto [ 09/Jul/12 ]

Author:

{u'date': u'2012-07-09T13:28:24-07:00', u'email': u'milkie@10gen.com', u'name': u'Eric Milkie'}

Message: SERVER-6311 abort if FlushViewOfFile takes longer than 15 minutes

This avoids data corruption on Windows; the previous behavior gave up
after 60 seconds and then blindly continued.
Branch: master
https://github.com/mongodb/mongo/commit/1cd140e61ce33f0fb46f54332d62accaa587c67c

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