• guybe7's avatar
    WAITAOF: Update fsynced_reploff_pending just before starting the initial AOFRW fork (#12620) · ba113c83
    guybe7 authored
    If we set `fsynced_reploff_pending` in `startAppendOnly`, and the fork doesn't start
    immediately (e.g. there's another fork active at the time), any subsequent commands
    will increment `server.master_repl_offset`, but will not cause a fsync (given they were
    executed before the fork started, they just ended up in the RDB part of it)
    Therefore, any WAITAOF will wait on the new master_repl_offset, but it will time out
    because no fsync will be executed.
    
    Release notes:
    ```
    WAITAOF could timeout in the absence of write traffic in case a new AOF is created and
    an AOFRW can't immediately start.
    This can happen by the appendonly config is changed at runtime, but also after FLUSHALL,
    and replica full sync.
    ```
    
    (cherry picked from commit bfa3931a)
    ba113c83
wait.tcl 17.8 KB