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

Fix OperationContext lifetime management in ReshardingOplogApplier and use batchSize > 1

    XMLWordPrintable

Details

    • Fully Compatible
    • Sharding 2020-12-28
    • 2

    Description

      It is possible for the future returned by ReshardingDonorOplogIterator::getNext() to only become ready after opCtx would have been destructed. This won't happen while ReshardingDonorOplogIterator::_waitForNewOplog() always returns an immediately ready future, but would become an issue as soon as the returned future wasn't immediately ready. It isn't practical for ReshardingDonorOplogIterator::_waitForNewOplog() to always return an immediately ready future because the donor iterator may reached the end of the oplog buffer and need to wait for an insert notification from the ReshardingOplogFetcher.

      Attachments

        Issue Links

          Activity

            People

              max.hirschhorn@mongodb.com Max Hirschhorn
              max.hirschhorn@mongodb.com Max Hirschhorn
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: