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

Fix OperationContext lifetime management in ReshardingOplogApplier and use batchSize > 1

    XMLWordPrintableJSON

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

        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: