Re: pgsql: psql: Add test for query canceling

From: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Daniel Gustafsson <daniel(at)yesql(dot)se>
Cc: Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr>, pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: Re: pgsql: psql: Add test for query canceling
Date: 2021-08-24 16:43:38
Message-ID: 9f46b102-da4d-8312-54f0-1f3bc10b453c@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

On 20.08.21 20:47, Tom Lane wrote:
> I think you should drop the overly-cute bit with a SIGALRM handler,
> and instead have a loop-with-delay around an attempt to read the
> psql.pid file, after launching the psql run without an immediate
> wait for termination. That gets rid of the first problem (though
> you still want the loop to timeout eventually, it could wait up
> to say 180 seconds, as we do elsewhere). Then the second problem
> is easy to solve by making the pg_sleep delay twice as much.

Here is a proposal. It waits separately for the pid file to appear and
also checks for the sleep query to be registered by the backend, so it
doesn't have any more dependencies on things happening "fast enough".
And it's also faster in the normal case now. Thoughts?

Attachment Content-Type Size
0001-Make-psql-cancel-test-more-timing-robust.patch text/plain 2.3 KB

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2021-08-24 16:59:10 Re: pgsql: psql: Add test for query canceling
Previous Message Tom Lane 2021-08-24 15:52:38 Re: pgsql: psql: Add test for query canceling