• Alvaro Herrera's avatar
    Add test case for obsoleting slot with active walsender, take 2 · 24043c27
    Alvaro Herrera authored
    The code to signal a running walsender when its reserved WAL size grows
    too large is completely uncovered before this commit; this adds coverage
    for that case.
    
    This test involves sending SIGSTOP to walsender and walreceiver, then
    advancing enough WAL for a checkpoint to trigger, then sending SIGCONT.
    
    There's no precedent for STOP signalling in Perl tests, and my reading
    of relevant manpages says it's likely to fail on Windows.  Because of
    this, this test is always skipped on that platform.
    
    This version fixes a couple of rarely hit race conditions in the
    previous attempt 09126984; most notably, both LOG string searches
    are loops, not just the second one; we acquire the start-of-log position
    before STOP-signalling; and reference the correct process name in the
    test description.  All per Tom Lane.
    
    Author: Álvaro Herrera <alvherre@alvh.no-ip.org>
    Discussion: https://postgr.es/m/202106102202.mjw4huiix7lo@alvherre.pgsql
    24043c27
019_replslot_limit.pl 11.4 KB