Re: A failure of standby to follow timeline switch - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: A failure of standby to follow timeline switch
Date
Msg-id ac594c30-9907-343a-4111-796678b66d31@oss.nttdata.com
Whole thread Raw
In response to Re: A failure of standby to follow timeline switch  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
Responses Re: A failure of standby to follow timeline switch  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
List pgsql-hackers

On 2021/01/04 12:06, Kyotaro Horiguchi wrote:
> 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.

Yes.

> 
> The attached is the fixed version.

Thanks for updating the patches!

> In the first patch, the test added to 001_stream_rep.pl involves two
> copied functions related to server-log investigation from
> 019_repslot_limit.pl.

So you're planning to define them commonly in TestLib.pm or elsewhere?

+$node_primary_2->init(allows_streaming => 1);
+$node_primary_2->enable_archiving; # needed to make .paritial segment

Isn't it better to use has_archiving flag in init() instead of doing
enable_archiving, like other tests do?

0002 looks good to me.

Regards,

-- 
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION



pgsql-hackers by date:

Previous
From: Bharath Rupireddy
Date:
Subject: Re: Parallel Inserts in CREATE TABLE AS
Next
From: Daniil Zakhlystov
Date:
Subject: Re: zstd compression for pg_dump