-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Labels:None
This page:
https://docs.mongodb.com/manual/tutorial/long-running-queries/
... shows how we internally implement the driver-server protocol for snapshot reads using the "atClusterTime" parameter. That parameter shouldn't be documented. Instead, we should show users the session-based driver API for using snapshot reads. Here's a good example for Python:
https://pymongo.readthedocs.io/en/stable/api/pymongo/client_session.html
Snapshot reads are extremely similar to causal consistency. For causal, we don't document the internal parameter "afterClusterTime". Instead, we show examples with drivers:
https://docs.mongodb.com/manual/core/read-isolation-consistency-recency/#examples
We should do the same for snapshot reads: don't document "atClusterTime", show drivers examples instead. We can collect drivers examples using a ticket like DRIVERS-547.
Also, I'd replace the term "snapshot time" with "read timestamp" on that page. E.g.,
When MongoDB performs long-running queries using the default read concern of "local", the read timestamp is subject to change. The read timestamp may move forward as the query runs, and the query may return inconsistent results.
- depends on
-
DRIVERS-2181 Snapshot Query Examples for the Manual
- Implementing