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
|
Список | 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 по дате отправления: