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

ephemeralForTest oplog visibility bug

    • Type: Icon: Bug Bug
    • Resolution: Gone away
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Storage Execution
    • ALL
    • 15

      EFT does not correctly implement oplog visibility. It checks the "all committed" value after forking and obtaining a snapshot. This means that the highest-visible point in the oplog can actually reflect uncommmited operations in the oplog cursor's snapshot.

      For example. Say operations with timestamps T1 and T3 are committed, but T2 is not. The "all committed" (aka "highest visible") operation should be T1.

      Consider the sequence:

      • An oplog reader obtains a snapshot. T1 and T3 are visible, T2 is not.
      • T2 commits in parallel
      • The oplog reader opens a cursor sees the highest visible record as T3. The operation returns T1 and T3, but skips T2.

      See SERVER-38499 for details on how this was implemented in MongoDB.

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            louis.williams@mongodb.com Louis Williams
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: