Re: Transaction timeout - Mailing list pgsql-hackers

From Andrey M. Borodin
Subject Re: Transaction timeout
Date
Msg-id 4C30F833-C0F2-4664-B0FF-192FD8AB2E2E@yandex-team.ru
Whole thread Raw
In response to Re: Transaction timeout  (Peter Smith <smithpb2250@gmail.com>)
Responses Re: Transaction timeout
Re: Transaction timeout
List pgsql-hackers

> On 22 Jan 2024, at 11:23, Peter Smith <smithpb2250@gmail.com> wrote:
>
> Hi, This patch has a CF status of "Needs Review" [1], but it seems
> there was a CFbot test failure last time it was run [2]. Please have a
> look and post an updated version if necessary.
Thanks Peter!

I’ve inspected CI fails and they were caused by two different problems:
1. It’s unsafe for isaoltion tester to await transaction_timeout within a query. Usually it gets
FATAL: terminating connection due to transaction timeout
But if VM is a bit slow it can get occasional
PQconsumeInput failed: server closed the connection unexpectedly
So, currently all tests use “passive waiting”, in a session that will not timeout.

2. In some cases pg_sleep(0.1) were sleeping up to 200 ms. That was making s7 and s8 fail, because they rely on this
margin.
I’ve separated these tests into different test timeouts-long and increased margin to 300ms. Now tests run horrible 2431
ms.Moreover I’m afraid that on buildfarm we can have much randomly-slower machines so this test might be excluded. 
This test checks COMMIT AND CHAIN and flow of small queries (Nik’s case).

Also I’ve verified that every "enable_timeout_after(TRANSACTION_TIMEOUT)” and “disable_timeout(TRANSACTION_TIMEOUT)” is
necessaryand found that case of aborting "idle in transaction (aborted)” is not covered by tests. I’m not sure we need
atest for this. 
Japin, Junwang, what do you think?

Thanks!


Best regards, Andrey Borodin.


Attachment

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Popcount optimization using AVX512
Next
From: "Andrey M. Borodin"
Date:
Subject: Re: Transaction timeout