Re: Transaction timeout
Junwang Zhao <zhjwpku@gmail.com>
From: Junwang Zhao <zhjwpku@gmail.com>
To: "Andrey M. Borodin" <x4mmm@yandex-team.ru>
Cc: Li Japin <japinli@hotmail.com>, 邱宇航 <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" <pgsql-hackers@lists.postgresql.org>
Date: 2023-12-29T11:00:10Z
Lists: pgsql-hackers
Attachments
- v19-0002-Use-test-from-Li-Japin-Also-add-tests-for-multip.patch (application/octet-stream) patch v19-0002
- v19-0003-Try-to-enable-transaction_timeout-before-next-co.patch (application/octet-stream) patch v19-0003
- v19-0001-Introduce-transaction_timeout.patch (application/octet-stream) patch v19-0001
- v19-0004-fix-reschedule-timeout-for-each-commmand.patch (application/octet-stream) patch v19-0004
On Fri, Dec 29, 2023 at 6:00 PM Andrey M. Borodin <x4mmm@yandex-team.ru> wrote: > > > > > On 28 Dec 2023, at 21:02, Junwang Zhao <zhjwpku@gmail.com> wrote: > > > > Seems V5~V17 doesn't work as expected for Nikolay's case: > > > > Yeah, that's a problem. > > So I propose the following change, what do you think? > This breaks COMMIT AND CHAIN. > > PFA v18: I've added a test for Nik's case and for COMMIT AND CHAIN. Now we need to fix stuff to pass this tests (I've crafted output). > We also need test for patchset step "Try to enable transaction_timeout before next command". > > Thanks! After exploring the code, I found scheduling the timeout in `StartTransaction` might be a reasonable idea, all the chain commands will call this function. What concerns me is that it is also called by StartParallelWorkerTransaction, I'm not sure if we should enable this timeout for parallel execution. Thought? > > > Best regards, Andrey Borodin. -- Regards Junwang Zhao
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