• guybe7's avatar
    WAITAOF: Update fsynced_reploff_pending just before starting the initial AOFRW fork (#12620) · bfa3931a
    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.
    ```
    bfa3931a
aof.c 102 KB