[SERVER-45792] Make StorageEngine::waitForJournalFlush interruptible Created: 27/Jan/20  Updated: 06/Dec/22  Resolved: 09/Mar/20

Status: Closed
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: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-45665 Make JournalFlusher flush on command ... Closed
is related to SERVER-46191 Make waiting for the truncate point i... Backlog
Assigned Teams:
Storage Execution
Participants:

 Description   

This function will be added in SERVER-45665.

We wanted to make it interruptible, but the waitForMajorityService doesn't expect waitForWriteConcern (which will call waitForJournalFlush) to throw. This is not technically correct, because waitForWriteConcern returns a Status and today calls waitUntilDurable, which can in fact throw an error.

The desire is to make writeConcern's j:true code interruptible, like writeConcern's w code.

We could also explore moving more of the waitUntilDurable callers onto waitForJournalFlush, to make them interruptible (otherwise waitUntilDurable is uninterruptible while calling into WT). However, only callers of waitUntilDurable that call with the same function parameter settings as the JournalFlusher. We could explore moving the special function parameter controllable functionality out of waitUntilDurable into a higher level, too..



 Comments   
Comment by Dianna Hohensee (Inactive) [ 09/Mar/20 ]

I'm closing this as Done because the work has happened elsewhere. waitForJournalFlush can throw an interrupt error and the callers thereof handle it appropriately.

SERVER-46191 is a newer ticket of interest, where we now wish to somehow make waitForJournalFlush – or a wrapper thereof – obey the wtimeout given via writeConcern options.

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