Re: Transaction timeout
От | Japin Li |
---|---|
Тема | Re: Transaction timeout |
Дата | |
Msg-id | ME3P282MB31663557EEF80E7CA97FBC32B69BA@ME3P282MB3166.AUSP282.PROD.OUTLOOK.COM обсуждение исходный текст |
Ответ на | Re: Transaction timeout (Japin Li <japinli@hotmail.com>) |
Ответы |
Re: Transaction timeout
Re: Transaction timeout |
Список | pgsql-hackers |
On Sat, 23 Dec 2023 at 08:32, Japin Li <japinli@hotmail.com> wrote: > On Fri, 22 Dec 2023 at 23:30, Junwang Zhao <zhjwpku@gmail.com> wrote: >> On Fri, Dec 22, 2023 at 10:44 PM Japin Li <japinli@hotmail.com> wrote: >>> >>> >>> On Fri, 22 Dec 2023 at 22:37, Junwang Zhao <zhjwpku@gmail.com> wrote: >>> > On Fri, Dec 22, 2023 at 10:25 PM Japin Li <japinli@hotmail.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 -- Regrads, Japin Li ChengDu WenWu Information Technology Co., Ltd.
В списке pgsql-hackers по дате отправления: