Build a minimal viable implementation of causally consistent shell sessions that can be used for testing the causal consistency.
Notes:
- the user session is based on the DB session.
- the property of causal consistent reads belongs to the session and can be explicitly turned on /off by a user
- if the consistent reads are "on" the DB the session or db object keep track of the
- clusterTime
- operationTime
- db object modifies the requests (i.e commands) by adding the $logicalTime and readConsern: afterClusterTime: <currentIOperationTime>
- there is a mongo shell parameter that allows to make the causal consistency default on the start so it can be used for creating passthrough tests that run existing integration
- mongo can be started with a port or connection string. In all cases it may be possible to implement the logic in the dbclient or dbclient_rs (investigate)
- is depended on by
-
SERVER-29690 MongoS initiated metadata refreshes not based on StaleConfig error may see stale config data
- Closed
- is duplicated by
-
SERVER-30409 Turn Causal Consistency on
- Closed