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

Have donor shards re-pin oldest_timestamp to be their minFetchTimestamp on startup

    XMLWordPrintableJSON

Details

    • Sharding
    • 2

    Description

      We cannot rely on primary-only service recovery because recipient shards may choose to read from a donor shard secondary and so secondaries need to re-pin their oldest_timestamp too. Dan Gottlieb suggested a home for where to add this to startup:

      https://github.com/mongodb/mongo/blob/f36403d9057c00586489a8c688f8faaa602f8d2e/src/mongo/db/mongod_main.cpp#L496-L498

      You should be able to read from collections internally prior to that line at startup. My patch (I just added a new patchset) should keep the oldest timestamp pinned until that line. So if you add a pin prior to the call, it should be obeyed.

      Attachments

        Issue Links

          Activity

            People

              backlog-server-sharding Backlog - Sharding Team
              max.hirschhorn@mongodb.com Max Hirschhorn
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: