Re: pgbench: allow to exit immediately when any client is aborted

From: Tatsuo Ishii <ishii(at)sraoss(dot)co(dot)jp>
To: nagata(at)sraoss(dot)co(dot)jp
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: pgbench: allow to exit immediately when any client is aborted
Date: 2023-08-05 03:16:11
Message-ID: 20230805.121611.2295180338896131631.t-ishii@sranhm.sra.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Hi,
>
> I would like to propose to add an option to pgbench so that benchmark
> can quit immediately when any client is aborted. Currently, when a
> client is aborted due to some error, for example, network trouble,
> other clients continue their run until a certain number of transactions
> specified -t is reached or the time specified by -T is expired. At the
> end, the results are printed, but they are not useful, as the message
> "Run was aborted; the above results are incomplete" shows.

Sounds like a good idea. It's a waste of resources waiting for
unusable benchmark results until t/T expired. If we graze on the
screen, then it's easy to cancel the pgbench run. But I frequently let
pgbench run without sitting in front of the screen especially when t/T
is large (it's recommended that running pgbench with large enough t/T
to get usable results).

> For precise benchmark purpose, we would not want to wait to get such
> incomplete results, rather we would like to know some trouble happened
> to allow a quick retry. Therefore, it would be nice to add an option to
> make pgbench exit instead of continuing run in other clients when any
> client is aborted. I think adding the optional is better than whole
> behavioural change because some users that use pgbench just in order
> to stress on backends for testing purpose rather than benchmark might
> not want to stop pgbench even a client is aborted.
>
> Attached is the patch to add the option --exit-on-abort.
> If this option is specified, when any client is aborted, pgbench
> immediately quit by calling exit(2).
>
> What do you think about it?

I think aborting pgbench by calling exit(2) is enough. It's not worth
the trouble to add more codes for this purpose.

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Soumyadeep Chakraborty 2023-08-05 07:53:00 Re: brininsert optimization opportunity
Previous Message Thomas Munro 2023-08-05 02:53:09 Re: Is RecoveryConflictInterrupt() entirely safe in a signal handler?