-
Type: Task
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Sharding
-
Sharding 2020-07-13, Sharding 2020-06-29, Sharding 2020-07-27
Per this section of the design, the VectorClock needs to expose ability to persist its state durably to disk and recover it so that any decision made on a cache can be recovered.
Methods to implement:
- Persistence
persist : scheduling a task to persist the vector clock document and returning a future
waitForInMemoryVectorClockToBePersisted: waiting on the future returned by persist - Recovery
recover : scheduling a task to recover the vector clock document from disk and returning a future
waitForVectorClockToBeRecovered waiting on the future returned by recover.
- depends on
-
SERVER-49194 Define VectorClockDocument IDL type for persistence
- Closed
-
SERVER-49295 Add upsert parameter to PersistentTaskStore update
- Closed
-
SERVER-49308 Allow to advance any VectorClock time for testing
- Closed
-
SERVER-49315 Allow definition of custom vector clock gossip formats
- Closed
- is depended on by
-
SERVER-46202 Implement ShardRegistry on top of ReadThroughCache to make it causally consistent
- Closed
-
SERVER-49192 Persist the VectorClock for configTime and topologyTime casual consistency
- Closed
-
SERVER-49193 Recover the VectorClock on shard primary step up
- Closed
-
SERVER-49400 Differenciate VectorClock persist behavior based on cluster role
- Closed