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

Watchdog may return success reading from page cache

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.1.0-rc0
    • Affects Version/s: 5.2.0
    • Component/s: None
    • None
    • Environment:
      Linux
    • Fully Compatible
    • ALL
    • Security 2022-05-02, Security 2022-05-16, Security 2022-05-30, Security 2022-07-11, Security 2022-07-25, Security 2022-08-08
    • 35

      The comment on checkFile states this is “open a direct_io” to a new file. However, the O_DIRECT flag is not added to the open call. This should mean this is a standard, buffered IO.

      https://github.com/mongodb/mongo/blob/master/src/mongo/watchdog/watchdog.cpp#L467

      In an asymmetric storage failure where writes can complete, but reads are blocked, the read at https://github.com/mongodb/mongo/blob/master/src/mongo/watchdog/watchdog.cpp#L522 could be serviced from the Linux page cache, erroneously returning a success.

            Assignee:
            gabriel.marks@mongodb.com Gabriel Marks
            Reporter:
            kevin.arhelger@mongodb.com Kevin Arhelger
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: