]> git.ipfire.org Git - thirdparty/postgresql.git/commit
pg_createsubscriber: Only --recovery-timeout controls the end of recovery process
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 17 Jun 2024 07:42:51 +0000 (09:42 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Mon, 17 Jun 2024 07:42:51 +0000 (09:42 +0200)
commit04c8634c0c4d636540c9283efdd695558403dc4e
tree244e8d12bb0393825590f359f3c4e455de556ff3
parent8f1888eb6d6023b80525fbf7a8a1053daa6eb31e
pg_createsubscriber: Only --recovery-timeout controls the end of recovery process

It used to check if the target server is connected to the primary
server (send required WAL) to rapidly react when the process won't
succeed.  This code is not enough to guarantee that the recovery
process will complete.  There is a window between the walreceiver
shutdown and the pg_is_in_recovery() returns false that can reach
NUM_CONN_ATTEMPTS attempts and fails.

Instead, rely only on the --recovery-timeout option to give up the
process after the specified number of seconds.

This should help with buildfarm failures on slow machines.

Author: Euler Taveira <euler.taveira@enterprisedb.com>
Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com>
Discussion: https://www.postgresql.org/message-id/776c5cac-5ef5-4001-b1bc-5b698bc0c62a%40app.fastmail.com
doc/src/sgml/ref/pg_createsubscriber.sgml
src/bin/pg_basebackup/pg_createsubscriber.c
src/bin/pg_basebackup/t/040_pg_createsubscriber.pl