Re: Transaction timeout
x4mmm@yandex-team.ru
From: "Andrey M. Borodin" <x4mmm@yandex-team.ru>
To: 邱宇航 <iamqyh@gmail.com>
Cc: Fujii Masao <masao.fujii@oss.nttdata.com>,
Andrey Borodin <amborodin86@gmail.com>,
Andres Freund <andres@anarazel.de>,
Michael Paquier <michael.paquier@gmail.com>,
Nikolay Samokhvalov <samokhvalov@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-12-06T13:05:48Z
Lists: pgsql-hackers
Attachments
- v6-0001-Introduce-transaction_timeout.patch (application/octet-stream) patch v6-0001
> On 30 Nov 2023, at 20:06, Andrey M. Borodin <x4mmm@yandex-team.ru> wrote: > > > Tomorrow I plan to fix raising of the timeout when the transaction is idle. > Renaming transaction_timeout to something else (to avoid confusion with prepared xacts) also seems correct to me. Here's a v6 version of the feature. Changes: 1. Now transaction_timeout will break connection with FATAL instead of hanging in "idle in transaction (aborted)" 2. It will kill equally idle and active transactions 3. New isolation tests are slightly more complex: isolation tester does not like when the connection is forcibly killed, thus there must be only 1 permutation with killed connection. TODO: as Yuhang pointed out prepared transactions must not be killed, thus name "transaction_timeout" is not correct. I think the name must be like "session_transaction_timeout", but I'd like to have an opinion of someone more experienced in giving names to GUCs than me. Or, perhaps, a native speaker? Best regards, Andrey Borodin.
Commits
-
Add TAP tests for timeouts
- eeefd4280f6e 17.0 landed
-
Remove flaky isolation tests for timeouts
- a661bf7b0f56 17.0 landed
-
Followup fixes for transaction_timeout
- bf82f43790a6 17.0 landed
-
Introduce transaction_timeout
- 51efe38cb92f 17.0 landed
-
On systems that have setsid(2) (which should be just about everything except
- 3ad0728c817b 8.2.0 cited