[SERVER-53516] Have donor shards re-pin oldest_timestamp to be their minFetchTimestamp on startup Created: 24/Dec/20  Updated: 06/Dec/22  Resolved: 02/Feb/21

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Max Hirschhorn Assignee: [DO NOT USE] Backlog - Sharding Team
Resolution: Duplicate Votes: 0
Labels: PM-234-M3, PM-234-T-data-clone
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-46678 Preserve durable history across restarts Closed
Duplicate
duplicates SERVER-53373 Have donor shards pin oldest_timestam... Closed
Assigned Teams:
Sharding
Participants:
Story Points: 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.



 Comments   
Comment by Max Hirschhorn [ 02/Feb/21 ]

This will be implemented as a part of SERVER-53373.

Generated at Thu Feb 08 05:31:09 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.