> On 22 Jan 2024, at 11:23, Peter Smith <smithpb2...@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 necessary and found that case of 
aborting "idle in transaction (aborted)” is not covered by tests. I’m not sure 
we need a test for this.
Japin, Junwang, what do you think?

Thanks!


Best regards, Andrey Borodin.

Attachment: v23-0001-Introduce-transaction_timeout.patch
Description: Binary data

Reply via email to