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

Make reads call MigratingTenantAccessBlocker::checkIfCanReadOrBlock

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.7.0
    • Component/s: None

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              cheahuychou.mao Cheahuychou Mao
              Reporter:
              esha.maharishi Esha Maharishi
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: