[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: |
|
||||||||||||||||||||||||
| 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: |
| Comment by Githook User [ 17/May/20 ] |
|
Author: {'name': 'Kaloian Manassiev', 'email': 'kaloian.manassiev@mongodb.com', 'username': 'kaloianm'}Message: The InProgressLookup tracking already has quite complicated logic, so it |