Re: Transaction timeout
От | Alexander Korotkov |
---|---|
Тема | Re: Transaction timeout |
Дата | |
Msg-id | CAPpHfduKa6rh48LNVG3_X5_7BiAO3+RKtRj-XPWEN2StVkAHLA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Transaction timeout ("Andrey M. Borodin" <x4mmm@yandex-team.ru>) |
Ответы |
Re: Transaction timeout
|
Список | pgsql-hackers |
On Mon, Mar 11, 2024 at 12:53 PM Andrey M. Borodin <x4mmm@yandex-team.ru> wrote: > > On 7 Mar 2024, at 00:55, Alexander Korotkov <aekorotkov@gmail.com> wrote: > > > > On Wed, Mar 6, 2024 at 10:22 AM Andrey M. Borodin <x4mmm@yandex-team.ru> wrote: > >>> On 25 Feb 2024, at 21:50, Alexander Korotkov <aekorotkov@gmail.com> wrote: > >>> > >>> Thank you for the patches. I've pushed the 0001 patch to avoid > >>> further failures on buildfarm. Let 0004 wait till injections points > >>> by Mechael are committed. > >> > >> Thanks! > >> > >> All prerequisites are committed. I propose something in a line with this patch. > > > > Thank you. I took a look at the patch. Should we also check the > > relevant message after the timeout is fired? We could check it in > > psql stderr or log for that. > > PFA version which checks log output. > But I could not come up with a proper use of BackgroundPsql->query_until() to check outputs. And there are multiple possibleerrors. > > We can copy test from src/bin/psql/t/001_basic.pl: > > # test behavior and output on server crash > my ($ret, $out, $err) = $node->psql('postgres', > "SELECT 'before' AS running;\n" > . "SELECT pg_terminate_backend(pg_backend_pid());\n" > . "SELECT 'AFTER' AS not_running;\n"); > > is($ret, 2, 'server crash: psql exit code'); > like($out, qr/before/, 'server crash: output before crash'); > ok($out !~ qr/AFTER/, 'server crash: no output after crash'); > is( $err, > 'psql:<stdin>:2: FATAL: terminating connection due to administrator command > psql:<stdin>:2: server closed the connection unexpectedly > This probably means the server terminated abnormally > before or while processing the request. > psql:<stdin>:2: error: connection to server was lost', > 'server crash: error message’); > > But I do not see much value in this. > What do you think? I think if checking psql stderr is problematic, checking just logs is fine. Could we wait for the relevant log messages one by one with $node->wait_for_log() just like 040_standby_failover_slots_sync.pl do? ------ Regards, Alexander Korotkov
В списке pgsql-hackers по дате отправления: