[SERVER-46191] Make waiting for the truncate point in waitForWriteConcern for single voter replica sets obey wtimeout Created: 14/Feb/20 Updated: 05/Dec/22 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Dianna Hohensee (Inactive) | Assignee: | Backlog - Storage Execution Team |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Assigned Teams: |
Storage Execution
|
||||||||||||||||
| Sprint: | Execution Team 2020-06-29 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
This work is the result of adding waiting for the truncate point in The code design should be made with consideration to This ticket must also unmodify the majority_writes_wait_for_all_durable_timestamp.js test that to get a writeConcern wtimeout to work. |
| Comments |
| Comment by Dianna Hohensee (Inactive) [ 14/Feb/20 ] |
|
There were two initial thoughts for how to do this 1) Separate awaitReplication functionality into a wrapper class that handles the wtimeout calculations and result setting on error, and then call the wait for no holes function and existing replication waiting logic via a anonymous function passed into the wrapper. 2) Make waiting for journaling + no holes entirely asynchronous via registering a desired optime in a queue somewhere, which causes a triggerJournalFlush to be called whenever the oplogReadTimestamp passes a requested optime. This solution would have to deal with flushAllFiles currently called in waitForWriteConcern: we do not currently have any async service that calls that form of waitUntilDurable. |