Re: Suggestion to add --continue-client-on-abort option to pgbench
От | Fujii Masao |
---|---|
Тема | Re: Suggestion to add --continue-client-on-abort option to pgbench |
Дата | |
Msg-id | CAHGQGwGWQMOzNkQs-LmpDHdNC0h8dmAuUMRvZrEntQi5a-b=Kg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Suggestion to add --continue-client-on-abort option to pgbench (Fujii Masao <masao.fujii@gmail.com>) |
Ответы |
Re: Suggestion to add --continue-client-on-abort option to pgbench
|
Список | pgsql-hackers |
On Fri, Sep 19, 2025 at 11:43 AM Fujii Masao <masao.fujii@gmail.com> wrote: > > On Thu, Sep 18, 2025 at 4:20 PM Yugo Nagata <nagata@sraoss.co.jp> wrote: > > > > On Thu, 18 Sep 2025 14:37:29 +0900 > > Fujii Masao <masao.fujii@gmail.com> wrote: > > > > > On Thu, Sep 18, 2025 at 10:22 AM Yugo Nagata <nagata@sraoss.co.jp> wrote: > > > > That makes sense. How about rewriting this like: > > > > > > > > However, if the --continue-on-error option is specified and the error occurs in > > > > an SQL command, the client does not abort and proceeds to the next > > > > transaction regardless of the error. These cases are reported as "other failures" > > > > in the output. Note that if the error occurs in a meta-command, the client will > > > > still abort even when this option is specified. > > > > > > How about phrasing it like this, based on your version? > > > > > > ---------------------------- > > > A client's run is aborted in case of a serious error; for example, the > > > connection with the database server was lost or the end of script was reached > > > without completing the last transaction. The client also aborts > > > if a meta-command fails, or if an SQL command fails for reasons other than > > > serialization or deadlock errors when --continue-on-error is not specified. > > > With --continue-on-error, the client does not abort on such SQL errors > > > and instead proceeds to the next transaction. These cases are reported > > > as "other failures" in the output. If the error occurs in a meta-command, > > > however, the client still aborts even when this option is specified. > > > ---------------------------- > > > > I'm fine with that. This version is clearer. > > Thanks for checking! I've updated the 0001 patch based on the comments. The revised version is attached. While testing, I found that running pgbench with --continue-on-error and pipeline mode triggers the following assertion failure. Could this be a bug in the patch? --------------------------------------------------- $ cat pipeline.pgbench \startpipeline DO $$ BEGIN PERFORM pg_sleep(3); PERFORM pg_terminate_backend(pg_backend_pid()); END $$; \endpipeline $ pgbench -n --debug --verbose-errors -f pipeline.pgbench -c 2 -t 4 -M extended --continue-on-error ... Assertion failed: (sql_script[st->use_file].commands[st->command]->type == 1), function commandError, file pgbench.c, line 3081. Abort trap: 6 --------------------------------------------------- When I ran the same command without --continue-on-error, the assertion failure did not occur. Regards, -- Fujii Masao
Вложения
В списке pgsql-hackers по дате отправления: