Re: BUG #17391: While using --with-ssl=openssl and PG_TEST_EXTRA='ssl' options, SSL tests fail on OpenBSD 7.0 - Mailing list pgsql-bugs

From Andres Freund
Subject Re: BUG #17391: While using --with-ssl=openssl and PG_TEST_EXTRA='ssl' options, SSL tests fail on OpenBSD 7.0
Date
Msg-id 20220203032706.h2e45nzi5vnga2iy@alap3.anarazel.de
Whole thread Raw
In response to Re: BUG #17391: While using --with-ssl=openssl and PG_TEST_EXTRA='ssl' options, SSL tests fail on OpenBSD 7.0  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Hi,

On 2022-02-02 21:44:41 -0500, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > On 2022-02-02 20:31:52 -0500, Tom Lane wrote:
> >> BTW, I also reproduced something that seems odd from the OP's
> >> postmaster logs: there are what seem a quite excessive number
> >> of checkpoints happening during these tests.  That happens
> >> on my Linux box too, so it's not an OpenBSD issue.  It looks
> >> like there are two per CREATE DATABASE --- I could understand
> >> one maybe, but why two?
>
> > I think that's unfortunately normal. There's two RequestCheckpoint()s in
> > createdb(). We should optimize that someday...
>
> Hmm.  I wonder how much that slows down a check-world run.
> I suppose the second checkpoint should be pretty speedy
> for lack of anything to do, but still ...

There is a patch making CREATE DATABASE fully WAL logged [1].

cfbot timings aren't super reliable, but it provides perhaps a bit of
information.

It does seem to make individual create databases a bit faster. Comparing runs
with another patch and looking at windows (since that's the slowest and
doesn't run regression tests concurrently), we can see:

https://cirrus-ci.com/github/postgresql-cfbot/postgresql/commitfest/36/3314
https://cirrus-ci.com/github/postgresql-cfbot/postgresql/commitfest/36/3192


CF 3314:
[01:28:31.630] Checking plpgsql
[01:28:31.764] ============== creating database "pl_regression"      ==============
[01:28:32.631] CREATE DATABASE

[01:28:36.515] Checking plperl
[01:28:36.751] ============== creating database "pl_regression"      ==============
[01:28:37.560] CREATE DATABASE

[01:28:40.990] Checking plpythonu
[01:28:41.233] ============== creating database "pl_regression"      ==============
[01:28:42.057] CREATE DATABASE


CF 3192:
[07:03:54.861] Checking plpgsql
[07:03:54.986] ============== creating database "pl_regression"      ==============
[07:03:55.254] CREATE DATABASE

[07:03:58.950] Checking plperl
[07:03:59.234] ============== creating database "pl_regression"      ==============
[07:03:59.484] CREATE DATABASE

[07:04:02.724] Checking plpythonu
[07:04:02.960] ============== creating database "pl_regression"      ==============
[07:04:03.202] CREATE DATABASE

Which does seem to suggest createdb being noticably faster.

This is also visible in aggregate across several tests, e.g. "test_modules"
averaging ~45s for 36/3314, but ~30s for 36/3192.


For the longer running tap tests it doesn't seem to make much of a difference,
which make some sense.


Greetings,

Andres Freund

[1] https://commitfest.postgresql.org/36/3192/



pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #17391: While using --with-ssl=openssl and PG_TEST_EXTRA='ssl' options, SSL tests fail on OpenBSD 7.0
Next
From: Julien Rouhaud
Date:
Subject: Re: Postgresql error : PANIC: could not locate a valid checkpoint record