[SERVER-50970] Support secondary reads in ephemeralForTest Created: 16/Sep/20 Updated: 06/Dec/22 Resolved: 06/Apr/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Louis Williams | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | neweng, newgrad | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Assigned Teams: |
Storage Execution
|
||||||||||||||||
| Sprint: | Execution Team 2021-02-08 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
ephemeralForTest needs to implement the kLastApplied ReadSource to support secondary reads. This will most likely require creating a SnapshotManager that records updates to lastApplied from the replication code, similar to the approach in WiredTigerRecoveryUnit. Additionally, create a StorageEngine helper to replace this use of supportsReadConcernSnapshot in AGCFR. Something like "supportsSecondaryReads" or "supportsReadSourceLastApplied". Another option would be to rewrite this SnapshotManager code to be above the storage engine so that any storage engine that supports timestamp reads can automatically support lastApplied reads (any maybe majority?) |