Re: pgsql: psql: Add test for query canceling - Mailing list pgsql-committers

From Daniel Gustafsson
Subject Re: pgsql: psql: Add test for query canceling
Date
Msg-id BED350D9-9AD3-47E0-A370-99B90DE754C2@yesql.se
Whole thread Raw
In response to Re: pgsql: psql: Add test for query canceling  (Fabien COELHO <coelho@cri.ensmp.fr>)
List pgsql-committers
> On 25 Aug 2021, at 07:37, Fabien COELHO <coelho@cri.ensmp.fr> wrote:
>
>
>> That looks pretty solid to me, and I can confirm that it passes
>> on wrasse's host.  The only nit I can find to pick is that this:
>>
>> +    usleep(10_000) until -s "$tempdir/psql.pid" or ($count++ > 180 * 100 and die 'pid file did not appear');
>>
>> basically assumes that psql.pid will be written atomically.
>
>> It'd be marginally safer to wait till psql.pid can be seen to
>> contain a newline.  I don't think that would be too hard to do,
>> if you put the slurp_file call inside the wait loop and inspect
>> its result.
>
> I finally came around to have a look at the patch.
>
> For the issue raised above, I can see that the file could be created but not yet written, but as the patch waits for
thefile to be non zero, ISTM that the probability of a torn write of a single integer by echo is so remote that we
couldlet it as that? 
>
> Attached a version with the slurping in the loop anyway.

It might be that the risk of a torn write is close to negligible, but that just
means that it’s bound to happen, and pretty soon too =) Checking with slurping
in the loop seems like a good idea to me.

--
Daniel Gustafsson        https://vmware.com/




pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: psql: Make cancel test more timing robust
Next
From: Robert Haas
Date:
Subject: pgsql: Fix broken snapshot handling in parallel workers.