The transaction with snapshot read concern provides ACID properties for users.
As I known, it is based on the timestamp transaction in wiredtiger.
A question makes me puzzled that what is the timestamp used in snapshot distributed transaction?
When I refered to the document, it shows
If the mongodb is deployed in relicat set, the snapshot transaction reads data before all_durable timestamp which ensures a snapshot with no oplog holes.
However, in shard deployment, each shard has its own all_durable timestamp, but the meaning of "snapshot" requires that each shard reads from the same timestamp, I think it is the atClusterTime from mongos and it is the clusterTime in mongos, right?
However, this will not lead to holes in the oplog?