Re: pgbnech: allow to cancel queries during benchmark

Поиск
Список
Период
Сортировка
От Yugo NAGATA
Тема Re: pgbnech: allow to cancel queries during benchmark
Дата
Msg-id 20240124221744.e483c07d03cce8c36703a85b@sraoss.co.jp
обсуждение исходный текст
Ответ на Re: pgbnech: allow to cancel queries during benchmark  (Tatsuo Ishii <ishii@sraoss.co.jp>)
Ответы Re: pgbnech: allow to cancel queries during benchmark  (Yugo NAGATA <nagata@sraoss.co.jp>)
Список pgsql-hackers
On Fri, 19 Jan 2024 17:46:03 +0900 (JST)
Tatsuo Ishii <ishii@sraoss.co.jp> wrote:

> >> +/* send cancel requests to all connections */
> >> +static void
> >> +cancel_all()
> >> +{
> >> +    for (int i = 0; i < nclients; i++)
> >> +    {
> >> +        char errbuf[1];
> >> +        if (client_states[i].cancel != NULL)
> >> +            (void) PQcancel(client_states[i].cancel, errbuf, sizeof(errbuf));
> >> +    }
> >> +}
> >> +
> >> 
> >> Why in case of errors from PQCancel the error message is neglected? I
> >> think it's better to print out the error message in case of error.
> > 
> > Is the message useful for pgbench users? I saw the error is ignored
> > in pg_dump, for example in bin/pg_dump/parallel.c
> 
> I think the situation is different from pg_dump.  Unlike pg_dump, if
> PQcancel does not work, users can fix the problem by using
> pg_terminate_backend or kill command. In order to make this work, an
> appropriate error message is essential.

Makes sense. I fixed to emit an error message when PQcancel fails.

Also, I added some comments about the signal handling on Windows
to explain why the different way than non-Windows is required;

+    * On Windows, a callback function is set in which query cancel requests
+    * are sent to all benchmark queries running in the backend. This is
+    * required because all threads running queries continue to run without
+    * interrupted even when the signal is received.
+    *

Attached is the updated patch, v6.

> Best reagards,
> --
> Tatsuo Ishii
> SRA OSS LLC
> English: http://www.sraoss.co.jp/index_en/
> Japanese:http://www.sraoss.co.jp
> 
> 


-- 
Yugo NAGATA <nagata@sraoss.co.jp>

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Aleksander Alekseev
Дата:
Сообщение: Re: UUID v7
Следующее
От: Aleksander Alekseev
Дата:
Сообщение: Re: UUID v7