[SERVER-46154] Make ReadThroughCache be driven by a vector clock Created: 14/Feb/20  Updated: 29/Oct/23  Resolved: 21/May/20

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 4.7.0

Type: Task Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Kaloian Manassiev
Resolution: Fixed Votes: 0
Labels: PM-1645-Milestone-2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-44978 Make ReadThroughCache support asynchr... Closed
is depended on by SERVER-46199 Implement collection cache on top of ... Closed
is depended on by SERVER-46202 Implement ShardRegistry on top of Rea... Closed
Related
related to SERVER-48181 Incorrect destruction order of Cache ... Closed
Backwards Compatibility: Fully Compatible
Sprint: Sharding 2020-05-04, Sharding 2020-05-18, Sharding 2020-06-01
Participants:
Linked BF Score: 0

 Description   

As part of this change, the ReadThroughCache's template should be made to accept a separate parameter called "Time" (or alternatively it could be a required method on the "Value" type), which should be a sortable class, containing the vector clock timestamp of each value in the cache.

The invalidate* suite of methods should be replaced with an advanceTime(const Key& key, Time time) method which cause the in-memory time of the specified key to move forward, so that subsequent call to acquire need to keep loading until the value fetched from the persisted store reaches time.



 Comments   
Comment by Githook User [ 21/May/20 ]

Author:

{'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}

Message: SERVER-46154 Make ReadThroughCache support causal consistency
Branch: master
https://github.com/mongodb/mongo/commit/a4c3cbd4060dc99e4aaa4a4472882e7995125431

Comment by Githook User [ 17/May/20 ]

Author:

{'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}

Message: SERVER-46154 Pull the InProgressLookup outside of ReadThroughCache

The InProgressLookup tracking already has quite complicated logic, so it
seems prudent to pull it into a separate class, outside of the
ReadThroughCache so it can be tested independently.
Branch: master
https://github.com/mongodb/mongo/commit/7e2111ef33fc40959a254bd3109466176ae60718

Generated at Thu Feb 08 05:10:38 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.