Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-6311

FlushViewOfFile failures can result in invalid journal on Windows

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 2.0.6, 2.1.2
    • Fix Version/s: 2.0.7, 2.2.0-rc0
    • Component/s: Storage
    • Labels:
      None
    • Environment:
      Windows
    • Operating System:
      Windows

      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.

        Issue Links

          Activity

          Hide
          auto auto (Inactive) added a comment -

          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

          Show
          auto auto (Inactive) added a comment - 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
          Hide
          auto auto (Inactive) added a comment -

          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

          Show
          auto auto (Inactive) added a comment - 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
          Hide
          auto auto (Inactive) added a comment -

          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

          Show
          auto auto (Inactive) added a comment - 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
          Hide
          auto auto (Inactive) added a comment -

          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

          Show
          auto auto (Inactive) added a comment - 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

            People

            • Assignee:
              milkie Eric Milkie
              Reporter:
              milkie Eric Milkie
              Participants:
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: