[SERVER-32449] GPiTR POC Created: 21/Dec/17  Updated: 30/Oct/23  Resolved: 01/Mar/18

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

Type: Task Priority: Major - P3
Reporter: Misha Tyulenev Assignee: Misha Tyulenev
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Sprint: Sharding 2018-01-15, Sharding 2018-01-29, Sharding 2018-02-12, Sharding 2018-02-26, Sharding 2018-03-12
Participants:

 Description   

This "umbrella" task tracks POC implementation of the Cluster-wide Snapshot Reads design spec.
There will be other tasks this task will be dependent on.

Below are tasks

1. distribute snapshotTime. The details on getting this value on the replica set must be made available in the Local Snapshot Reads design spec
2. keep track of the shard's snapshotTime on mongos per shard

3. keep track of the open "read-only" transaction on mongos so the multi statement reads use the same snapshot. The minimum will be the find/getMore for the cursor

4. implement the logic to buffer the data before all shards confirm that they can establish snapshot - look how the SSV is currently handled.
5. handle SnapshotUnavailable, SnapshotTooOld errors similar to SSV to restart the snapshot establish process.



 Comments   
Comment by Misha Tyulenev [ 01/Mar/18 ]

This concludes the POC and begins the prod dev.
POC: https://github.com/mikety/mongo
contains the changes that allow to run the snapshot read against sharded DB. per jstests/sharding/snapshot_cluster_reads.js

Generated at Thu Feb 08 04:30:17 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.