-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Labels:
-
Storage Execution
The different read sources establish its readAt timestamp in different ways in the RecoveryUnit.
kProvided and kLastApplied sets the timestamp when setTimestampReadSource is called.
kNoOverlap, kAllDurableSnapshot, kMajorityCommitted opens a snapshot if not already opened and sets the timestamp when calling getPointInTimeReadTimestamp.
The different behavior around when a timestamp is set and which calls will open a snapshot makes it difficult to use the API in a correct way that will work in a consistent way for the different read sources. We should try and unify the behavior.