• Michael Paquier's avatar
    Prioritize history files when archiving · b981df4c
    Michael Paquier authored
    At the end of recovery for the post-promotion process, a new history
    file is created followed by the last partial segment of the previous
    timeline.  Based on the timing, the archiver would first try to archive
    the last partial segment and then the history file.  This can delay the
    detection of a new timeline taken, particularly depending on the time it
    takes to transfer the last partial segment as it delays the moment the
    history file of the new timeline gets archived.  This can cause promoted
    standbys to use the same timeline as one already taken depending on the
    circumstances if multiple instances look at archives at the same
    location.
    
    This commit changes the order of archiving so as history files are
    archived in priority over other file types, which reduces the likelihood
    of the same timeline being taken (still not reducing the window to
    zero), and it makes the archiver behave more consistently with the
    startup process doing its post-promotion business.
    
    Author: David Steele
    Reviewed-by: Michael Paquier, Kyotaro Horiguchi
    Discussion: https://postgr.es/m/929068cf-69e1-bba2-9dc0-e05986aed471@pgmasters.net
    Backpatch-through: 9.5
    b981df4c
pgarch.c 19.6 KB