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

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • 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

        Activity

          People

            jordi.serra-torrens@mongodb.com Jordi Serra Torrens
            lingzhi.deng@mongodb.com Lingzhi Deng
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: