Re: Transaction timeout
Japin Li <japinli@hotmail.com>
From: Japin Li <japinli@hotmail.com>
To: "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Cc: 邱宇航 <iamqyh@gmail.com>, 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>, pgsql-hackers@lists.postgresql.org
Date: 2023-12-07T03:25:16Z
Lists: pgsql-hackers
On Wed, 06 Dec 2023 at 21:05, Andrey M. Borodin <x4mmm@yandex-team.ru> wrote: >> 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. > Greate. If idle_in_transaction_timeout is bigger than transaction_timeout, the idle-in-transaction timeout don't needed, right? > 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? > How about transaction_session_timeout? Similar to idle_session_timeout. -- Regrads, Japin Li ChengDu WenWu Information Technology Co., Ltd.
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