• Fujii Masao's avatar
    Fix issue with WAL archiving in standby. · b5ec22bf
    Fujii Masao authored
    Previously, walreceiver always closed the currently-opened WAL segment
    and created its archive notification file, after it finished writing
    the current segment up and received any WAL data that should be
    written into the next segment. If walreceiver exited just before
    any WAL data in the next segment arrived at standby, it did not
    create the archive notification file of the current segment
    even though that's known completed. This behavior could cause
    WAL archiving of the segment to be delayed until subsequent
    restartpoints or checkpoints created its notification file.
    
    To fix the issue, this commit changes walreceiver so that it creates
    an archive notification file of a current WAL segment immediately
    if that's known completed before receiving next WAL data.
    
    Back-patch to all supported branches.
    
    Reported-by: Kyotaro Horiguchi
    Author: Fujii Masao
    Reviewed-by: Kyotaro Horiguchi
    Discussion: https://postgr.es/m/20200630.165503.1465894182551545886.horikyota.ntt@gmail.com
    b5ec22bf
walreceiver.c 42.5 KB