Re: Transaction timeout

Japin Li <japinli@hotmail.com>

From: Japin Li <japinli@hotmail.com>
To: "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Cc: Alexander Korotkov <aekorotkov@gmail.com>, Peter Smith <smithpb2250@gmail.com>, Junwang Zhao <zhjwpku@gmail.com>, 邱宇航 <iamqyh@gmail.com>, Fujii Masao <masao.fujii@oss.nttdata.com>, Andrew Borodin <amborodin86@gmail.com>, Michael Paquier <michael.paquier@gmail.com>, Nikolay Samokhvalov <samokhvalov@gmail.com>, pgsql-hackers mailing list <pgsql-hackers@postgresql.org>, pgsql-hackers mailing list <pgsql-hackers@lists.postgresql.org>, Andres Freund <andres@anarazel.de>
Date: 2024-02-19T10:17:16Z
Lists: pgsql-hackers
On Mon, 19 Feb 2024 at 17:14, Andrey M. Borodin <x4mmm@yandex-team.ru> wrote:
>> On 18 Feb 2024, at 22:16, Andrey M. Borodin <x4mmm@yandex-team.ru> wrote:
>>
>> But it seems a little strange that session 3 did  not fail at all
> It was only coincidence. Any test that verifies FATALing out in 100ms can fail, see new failure here [0].
>
> In a nearby thread Michael is proposing injections points that can wait and be awaken. So I propose following course of action:
> 1. Remove all tests that involve pg_stat_activity test of FATALed session (any permutation with checker_sleep step)
> 2. Add idle_in_transaction_session_timeout, statement_timeout and transaction_timeout tests when injection points features get committed.
>

+1

> Alexander, what do you think?
>



Commits

  1. Add TAP tests for timeouts

  2. Remove flaky isolation tests for timeouts

  3. Followup fixes for transaction_timeout

  4. Introduce transaction_timeout

  5. On systems that have setsid(2) (which should be just about everything except