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

Update config.localReshardingOperations.recipient.progress_txn_cloner document following each batch of config.transactions cloner

    • Fully Compatible
    • Sharding 2020-11-16, Sharding 2020-11-30
    • 0

      Store the largest _id value from the donor shard's cursor response in the config.localReshardingOperations.recipient.progress_txn_cloner document as the <progress lsid> for that donor shard.

      {
          _id: <donor's shard ID>,
          progress: <donor1's progress lsid>,
      }
      

      The largest _id value from the donor shard's cursor response should be used with {$match: {_id: {$gt: <progress lsid>}}} to resume. Properties to ensure are being tested:

      1. The config.transaction cloner for resharding must not trigger a duplicate key error when resuming.
      2. The config.transaction cloner for resharding must not miss a document when resuming.

      When the donor shard's cursor is fully exhausted, the config.localReshardingOperations.recipient.progress_txn_cloner document can be updated to store {_id: MaxKey} as an indicator that resuming is no longer necessary.

            Assignee:
            jack.mulrow@mongodb.com Jack Mulrow
            Reporter:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: