Re: Add basic tests for the low-level backup method. - Mailing list pgsql-hackers

From David Steele
Subject Re: Add basic tests for the low-level backup method.
Date
Msg-id 89f477dc-c3e5-412e-9765-61c214aa69ab@pgmasters.net
Whole thread Raw
In response to Re: Add basic tests for the low-level backup method.  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Add basic tests for the low-level backup method.
List pgsql-hackers
On 3/15/24 12:38, Michael Paquier wrote:
> On Fri, Mar 15, 2024 at 09:40:38AM +1300, David Steele wrote:
>> Is the missing test in meson the reason we did not see test failures for
>> Windows in CI?
> 
> The test has to be listed in src/test/recovery/meson.build or the CI
> would ignore it.

Right -- I will keep this in mind for the future.

>>> The second LOG is something that can be acted on.  I've added some
>>> debugging to the parsing of the backup_label file in the backend, and
>>> noticed that the first fscanf() for START WAL LOCATION is failing
>>> because the last %c is detected as \r rather than \n.  Tweaking the
>>> contents stored from pg_backend_stop() with a sed won't help, because
>>> the issue is that we write the CRLFs with append_to_file, and the
>>> startup process cannot cope with that.  The simplest method I can
>>> think of is to use binmode, as of the attached.
>>
>> Yeah, that makes sense.
> 
> I am wondering if there is a better trick here that would not require
> changes in the backend to make the backup_label parsing more flexible,
> though.

Well, this is what we recommend in the docs, i.e. using bin mode to save 
backup_label, so it seems OK to me.

>>> I am attaching an updated patch with all that fixed, which is stable
>>> in the CI and any tests I've run.  Do you have any comments about
>>
>> These changes look good to me. Sure wish we had an easier to way to test
>> commits in the build farm.
> 
> That's why these tests are not that easy, they can be racy.  I've run
> the test 5~10 times in the CI this time to gain more confidence, and
> saw zero failures with the stability fixes in place including Windows.
> I've applied it now, as I can still monitor the buildfarm for a few
> more days.  Let's see what happens, but that should be better.

At least sidewinder is happy now -- and the build farm in general as far 
as I can see.

Thank you for your help on this!
-David



pgsql-hackers by date:

Previous
From: Bharath Rupireddy
Date:
Subject: Re: Introduce XID age and inactive timeout based replication slot invalidation
Next
From: Michael Paquier
Date:
Subject: Re: Add basic tests for the low-level backup method.