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

Noop write for afterClusterTime/atClusterTime on config servers could override opCtx's readConcernArgs

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Won't Do
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Operating System:
      ALL

      Description

      As part of waitForReadConcernImpl, we could perform noop writes to bump up the clusterTime for afterClusterTime/atClusterTime. And that eventually calls Shard::runCommand to run the appendOplogNote command. On config servers (I believe we use ShardLocal}, this then calls ShardLocal::_runCommand which will then run the appendOplogNote using DBDirectClient. And this could override the readConcernArgs on the opCtx. Overriding the readConcernArgs on the opCtx is dangerous because the subsequent waitUntilOpTimeForRead call relies on the readConcernArgs to wait properly before proceeding with the command. Moreover, this could also affect other assumptions we have with the readConcern for the initial command.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jordi.serra-torrens Jordi Serra Torrens
              Reporter:
              lingzhi.deng Lingzhi Deng
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: