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  ("Andrey M. Borodin" <x4mmm@yandex-team.ru>)
Список 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 по дате отправления:

Предыдущее
От: Amit Kapila
Дата:
Сообщение: Re: Regardign RecentFlushPtr in WalSndWaitForWal()
Следующее
От: Dagfinn Ilmari Mannsåker
Дата:
Сообщение: Re: Using the %m printf format more