Re: Regression tests failures on Windows Server 2019 - on master at commit # d816f366b - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Regression tests failures on Windows Server 2019 - on master at commit # d816f366b
Date
Msg-id 20220319181648.crcugcd4mpxbmwl3@alap3.anarazel.de
Whole thread Raw
In response to Re: Regression tests failures on Windows Server 2019 - on master at commit # d816f366b  (Andres Freund <andres@anarazel.de>)
Responses Re: Regression tests failures on Windows Server 2019 - on master at commit # d816f366b
List pgsql-hackers
Hi,

On 2022-03-04 22:01:22 -0800, Andres Freund wrote:
> On 2022-03-04 20:06:43 -0800, Andres Freund wrote:
> > On 2022-03-05 16:39:21 +1300, Thomas Munro wrote:
> > > I vote for committing that workaround into the tree temporarily,
> > > because it's not just cfbot, it's also everyone's dev branches on
> > > Github + the official mirror that are red.
> >
> > I'll do so after making dinner, unless you want to do so sooner. It did fix
> > the problem (intermixed with a few irrelevant changes): https://cirrus-ci.com/task/4928987829895168
>
> Pushed.

Cirrus now provides a way to get the old behaviour back without pinning an old
agent version. See attached and a run passing the problematic steps [1]:

The way this is intended to be done in cirrus (rather than preventing it from
killing "escaped" processes) would be to use 'background_script' to run
something longer running.

Unfortunately that's surprisingly hard with our tooling, or maybe I'm just
daft:

1) We don't have a way to wait for server startup to finish if we don't block
   on pg_ctl start. So we'd have to use 'sleep', write a loop around
   pq_isready. Perhaps pg_ctl should have an option to wait for server startup
   / shutdown without doing the starting/stopping itself?

2) There's no trivial way of starting postgres with pg_ctl and then waiting
   for the server to be shut down in the background script. The easiest would
   be to start psql just wait for it to be killed by an immediate shutdown :/.

3) We can't just start postgres in the foreground to get around 2), because
   pg_ctl does the dropping of permissions we need, rather than postgres
   itself. It'd also need 1).

Seems like we're missing some fairly basic tooling somehow...

Regards,

Andres

[1] https://cirrus-ci.com/task/5810196135018496

Attachment

pgsql-hackers by date:

Previous
From: Fabrízio de Royes Mello
Date:
Subject: Re: Add pg_freespacemap extension sql test
Next
From: Yugo NAGATA
Date:
Subject: Re: [HACKERS] WIP aPatch: Pgbench Serialization and deadlock errors