-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
None
-
Fully Compatible
-
ALL
-
-
Repl 2019-03-25, Repl 2019-04-08
-
53
Since the addition of the $_internalReadAtClusterTime field in SERVER-39169, it is possible for a 'find' command to do a read at a timestamp specified by the client. This means that when taking locks inside the AutoGetCollectionForRead constructor it is possible to be using a kProvided read source where the given timestamp is earlier than the minimum visible snapshot for the collection. If this is the case, then we will run past this logic and continue on to trigger this invariant. Instead of triggering an invariant in this case, we should throw an exception with a SnapshotUnavailable error, analogous to the behavior of dbHash command.
- related to
-
SERVER-39169 Add testing-only support for doing snapshot reads outside of a transaction
- Closed