Re: Transaction timeout

From: Japin Li <japinli(at)hotmail(dot)com>
To: Japin Li <japinli(at)hotmail(dot)com>
Cc: Junwang Zhao <zhjwpku(at)gmail(dot)com>, "Andrey M(dot) Borodin" <x4mmm(at)yandex-team(dot)ru>, 邱宇航 <iamqyh(at)gmail(dot)com>, "Fujii Masao" <masao(dot)fujii(at)oss(dot)nttdata(dot)com>, Andrey Borodin <amborodin86(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, "Michael Paquier" <michael(dot)paquier(at)gmail(dot)com>, Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Transaction timeout
Date: 2023-12-23 03:17:14
Message-ID: ME3P282MB316691F6AD09F4F8EA5578C1B69BA@ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

a
On Sat, 23 Dec 2023 at 10:40, Japin Li <japinli(at)hotmail(dot)com> wrote:
> On Sat, 23 Dec 2023 at 08:32, Japin Li <japinli(at)hotmail(dot)com> wrote:
>> On Fri, 22 Dec 2023 at 23:30, Junwang Zhao <zhjwpku(at)gmail(dot)com> wrote:
>>> On Fri, Dec 22, 2023 at 10:44 PM Japin Li <japinli(at)hotmail(dot)com> wrote:
>>>>
>>>>
>>>> On Fri, 22 Dec 2023 at 22:37, Junwang Zhao <zhjwpku(at)gmail(dot)com> wrote:
>>>> > On Fri, Dec 22, 2023 at 10:25 PM Japin Li <japinli(at)hotmail(dot)com> wrote:
>>>> >> I try to set idle_in_transaction_session_timeout after begin transaction,
>>>> >> it changes immediately, so I think transaction_timeout should also be take
>>>> >> immediately.
>>>> >
>>>> > Ah, right, idle_in_transaction_session_timeout is set after the set
>>>> > command finishes and before the backend send *ready for query*
>>>> > to the client, so the value of the GUC is already set before
>>>> > next command.
>>>> >
>>>>
>>>> I mean, is it possible to set transaction_timeout before next comand?
>>>>
>>> Yeah, it's possible, set transaction_timeout in the when it first
>>> goes into *idle in transaction* mode, see the attached files.
>>>
>>
>> Thanks for updating the patch, LGTM.
>
> Sorry for the noise!
>
> Read the previous threads, I find why the author enable transaction_timeout
> in start_xact_command().
>
> The v15 patch cannot handle COMMIT AND CHAIN, see [1]. For example:
>
> SET transaction_timeout TO '2s'; BEGIN; SELECT 1, pg_sleep(1); COMMIT AND CHAIN; SELECT 2, pg_sleep(1); COMMIT;
>
> The transaction_timeout do not reset when executing COMMIT AND CHAIN.
>
> [1] https://www.postgresql.org/message-id/a906dea1-76a1-4f26-76c5-a7efad3ef5b8%40oss.nttdata.com

Attach v16 to solve this. Any suggestions?

--
Regrads,
Japin Li
ChengDu WenWu Information Technology Co., Ltd.

Attachment Content-Type Size
v16-0001-Introduce-transaction_timeout.patch text/x-diff 20.6 KB
v16-0002-Try-to-enable-transaction_timeout-before-next-co.patch text/x-diff 1.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message vignesh C 2023-12-23 03:22:38 Commitfest manager January 2024
Previous Message Junwang Zhao 2023-12-23 03:08:33 Re: Transaction timeout