-
Type: Bug
-
Resolution: Unresolved
-
Priority: Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: None
-
5
-
StorEng - Defined Pipeline
This came out of WT-8880, so it's a preventative fix rather than an issue we've seen in practice.
There are two parts to this ticket. (1) is that conn->log_flags are set piecemeal while working through __wt_logmgr_config rather than using a local variable to collect the flags, then setting them in one operation at the end. This is prone to race conditions since another thread could read these flags in an inconsistent state if we're halfway through reconfiguring, so we should fix it.
Part (2) is an investigation into a potential hazard with conn->log_dirty_max and conn->log_prealloc. They're harder to protect than the flags, so we should do a bit more analysis to confirm if we need (say) a spinlock around them.