diff --git a/src/bin/pg_ctl/t/004_logrotate.pl b/src/bin/pg_ctl/t/004_logrotate.pl index acaade8d81..bc39abd23e 100644 --- a/src/bin/pg_ctl/t/004_logrotate.pl +++ b/src/bin/pg_ctl/t/004_logrotate.pl @@ -21,7 +21,19 @@ $node->start(); $node->psql('postgres', 'SELECT 1/0'); -my $current_logfiles = slurp_file($node->data_dir . '/current_logfiles'); +# might need to retry if logging collector process is slow... +my $max_attempts = 180 * 10; + +my $current_logfiles; +for (my $attempts = 0; $attempts < $max_attempts; $attempts++) +{ + eval { + $current_logfiles = slurp_file($node->data_dir . '/current_logfiles'); + }; + last unless $@; + usleep(100_000); +} +die $@ if $@; note "current_logfiles = $current_logfiles"; @@ -34,9 +46,6 @@ my $lfname = $current_logfiles; $lfname =~ s/^stderr //; chomp $lfname; -# might need to retry if logging collector process is slow... -my $max_attempts = 180 * 10; - my $first_logfile; for (my $attempts = 0; $attempts < $max_attempts; $attempts++) {