Re: A failure of standby to follow timeline switch
Kyotaro Horiguchi <horikyota.ntt@gmail.com>
From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: masao.fujii@oss.nttdata.com
Cc: pgsql-hackers@lists.postgresql.org
Date: 2021-01-04T03:06:10Z
Lists: pgsql-hackers
Attachments
- v2-0001-Add-a-new-test-to-detect-a-replication-bug.patch (text/x-patch)
At Sat, 26 Dec 2020 02:15:06 +0900, Fujii Masao <masao.fujii@oss.nttdata.com> wrote in > > > On 2020/12/25 12:03, Kyotaro Horiguchi wrote: > > Thank you for looking this. > > At Thu, 24 Dec 2020 15:33:04 +0900, Fujii Masao > > <masao.fujii@oss.nttdata.com> wrote in > >> When I applied two patches in the master branch and > >> ran "make check-world", I got the following error. > >> > >> ============== creating database "contrib_regression" ============== > >> # Looks like you planned 37 tests but ran 36. > >> # Looks like your test exited with 255 just after 36. > >> t/001_stream_rep.pl .................. > >> Dubious, test returned 255 (wstat 65280, 0xff00) > >> Failed 1/37 subtests > >> ... > >> Test Summary Report > >> ------------------- > >> t/001_stream_rep.pl (Wstat: 65280 Tests: 36 Failed: 0) > >> Non-zero exit status: 255 > >> Parse errors: Bad plan. You planned 37 tests but ran 36. > >> Files=21, Tests=239, 302 wallclock secs ( 0.10 usr 0.05 sys + 41.69 > >> cusr 39.84 csys = 81.68 CPU) > >> Result: FAIL > >> make[2]: *** [check] Error 1 > >> make[1]: *** [check-recovery-recurse] Error 2 > >> make[1]: *** Waiting for unfinished jobs.... > >> t/070_dropuser.pl ......... ok > > Mmm. I retried that and saw it succeed (with 0002 applied). > > If I modified "user Test::More tests => 37" to 38 in the perl file, I > > got a similar result. > > What happens if you run make check-world with -j 4? When I ran that, > the test failed. But with -j 1, the test finished with success. I'm > not sure > why this happened, though.. Maybe this is it. + usleep(100_000); If the script doesn't find the expected log line, it reaches the usleep and bark that "Undefined subroutine &main::usleep called...". I thought I tested that path but perhaps I overlooked the error. "use Time::HiRes" is needed. The attached is the fixed version. regards. -- Kyotaro Horiguchi NTT Open Source Software Center
Commits
-
Ensure that a standby is able to follow a primary on a newer timeline.
- 94f52929a0c4 13.2 landed
- fef5b47f6bfc 14.0 landed