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

Make the OpObserver construct TenantMigrationAccessBlocker on observing insertion for state doc with state "data sync"

    • Fully Compatible
    • Sharding 2020-09-21

      Right now on the primary the TenantMigrationAccessBlocker is created inside the constructor for TenantMigrationDonorService::Instance, whereas on secondaries it is created by the OpObserver on observing the transition to blocking state. When a secondary steps up, PrimaryOnlyService::_rebuildInstances can fail with ConflictingOperationInProgress when creating TenantMigrationDonorService for active migrations since the secondary already has the TenantMigrationAccessBlockers for those migrations. To avoid this, we should construct TenantMigrationAccessBlocker on observing insertion for state doc with state "data sync".

            Assignee:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Reporter:
            cheahuychou.mao@mongodb.com Cheahuychou Mao
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: