Quick exit on log stream child exit in pg_basebackup
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Wed, 23 Feb 2022 13:24:43 +0000 (14:24 +0100)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Wed, 23 Feb 2022 13:24:43 +0000 (14:24 +0100)
commit0475a97f744d2fea3676b2e69405d20358eac07a
treef481eaf45893d9538728ecd6c865052020585f67
parentc7d7e1203958952e0ef67d336c58f1e7094e7634
Quick exit on log stream child exit in pg_basebackup

If the log streaming child process (thread on Windows) dies during
backup then the whole backup will be aborted at the end of the
backup.  Instead, trap ungraceful termination of the log streaming
child and exit early.  This also adds a TAP test for simulating this
by terminating the responsible backend.

Reviewed-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Reviewed-by: Magnus Hagander <magnus@hagander.net>
Discussion: https://postgr.es/m/0F69E282-97F9-4DB7-8D6D-F927AA6340C8@yesql.se
Discussion: https://postgr.es/m/VI1PR83MB0189818B82C19059CB62E26199A89@VI1PR83MB0189.EURPRD83.prod.outlook.com
src/bin/pg_basebackup/pg_basebackup.c
src/bin/pg_basebackup/t/010_pg_basebackup.pl