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

Make reads call MigratingTenantAccessBlocker::checkIfCanReadOrBlock

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.7.0
    • Affects Version/s: None
    • Component/s: None
    • Fully Compatible

      Reads should call checkIfCanReadOrBlock after waiting for readConcern, in particular after waiting for their clusterTime to be reached (and therefore waiting for all oplog holes earlier than that clusterTime to be filled).

      checkIfCanReadOrBlock should not be called under any locks, particularly under database or collection locks.

      It would be nice if this can be added to the service entry point, but a fallback is to add it to every read command (i.e., every command that can take a readConcern).

      This ticket should also test that all reads with clusterTime > the blockTimestamp block if the "start blocking" write has occurred.

            Assignee:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Reporter:
            esha.maharishi@mongodb.com Esha Maharishi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: