From a886fddcccc148d476c58d4212acac4653e907df Mon Sep 17 00:00:00 2001 From: Martin Date: Tue, 5 Apr 2016 15:30:42 -0300 Subject: [PATCH] We were not checking the return code after rsyncing the tablespaces. This fixes #168 --- repmgr.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/repmgr.c b/repmgr.c index 5008bc6d..4d51c024 100644 --- a/repmgr.c +++ b/repmgr.c @@ -1735,6 +1735,18 @@ do_standby_clone(void) tblspc_dir_src.data, tblspc_dir_dst.data, true, server_version_num); + /* + Exit code 0 means no error, but we want to ignore exit code 24 as well + as rsync returns that code on "Partial transfer due to vanished source files". + It's quite common for this to happen on the data directory, particularly + with long running rsync on a busy server. + */ + if (r != 0 && r != 24) + { + log_warning(_("standby clone: failed copying tablespace directory '%s'\n"), + tblspc_dir_src.data); + goto stop_backup; + } /* Update symlinks in pg_tblspc */ if (mapping_found == true)