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

Prevent a single WUOW from writing multiple oplog entries by default

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Storage Execution

      Having WUOWs that perform multiple writes resulting in multiple oplog entries seem really convenient for the primary as you get atomicity. However when this is replicated it is no longer done atomically.

      This can result in cases where the code works 99% of the time but result in difficult to diagnose BFs where some of the writes got rolled back.

      It can also cause issues related to timestamping where a write can "inherit" a timestamp set by another write. Also resulting to difficult to diagnose BFs.

      We do have cases where writing multiple oplog entries in a single WUOW is safe and perfectly fine but we should make them a special case where they explicitly enable this behavior.

      By default it should not be allowed to write multiple oplog entries in a WUOW.

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            henrik.edin@mongodb.com Henrik Edin
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated: