From 3c662643c4bb94aaf384e83fcfb53f6e4da0035e Mon Sep 17 00:00:00 2001 From: Tatsuo Ishii Date: Wed, 30 Aug 2023 10:03:31 +0900 Subject: Allow pgbench to exit immediately when any client is aborted. Previously when client was aborted due to some error during benchmarking, other clients continued their run until certain number of transactions specified -t was reached or the time specified by -T was expired. At the end, the results are printed with caution: "Run was aborted; the above results are incomplete" shows. New option "--exit-on-abort" allows pgbench to exit immediately in this case so that users could quickly fix the cause of the failure and try again another round of benchmarking. Author: Yugo Nagata Reviewed-by: Fabien COELHO, Tatsuo Ishii Discussion: https://postgr.es/m/flat/20230804130325.df32e60879c38c92bca64207%40sraoss.co.jp --- doc/src/sgml/ref/pgbench.sgml | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'doc/src') diff --git a/doc/src/sgml/ref/pgbench.sgml b/doc/src/sgml/ref/pgbench.sgml index 6c5c8afa6d4..d3d6e3ef078 100644 --- a/doc/src/sgml/ref/pgbench.sgml +++ b/doc/src/sgml/ref/pgbench.sgml @@ -768,6 +768,24 @@ pgbench options d + + + + + Exit immediately when any client is aborted due to some error. Without + this option, even when a client is aborted, other clients could + continue their run as specified by + or option, and pgbench + will print an incomplete results in this case. + + + Note that serialization failures or deadlock failures do not abort the + client, so they are not affected by this option. + See for more information. + + + + @@ -985,7 +1003,8 @@ pgbench options d benchmark such as initial connection failures also exit with status 1. Errors during the run such as database errors or problems in the script will result in exit status 2. In the latter case, - pgbench will print partial results. + pgbench will print partial results if + option is not specified. @@ -2801,14 +2820,17 @@ statement latencies in milliseconds, failures and retries: start a connection to the database server / the socket for connecting the client to the database server has become invalid). In such cases all clients of this thread stop while other threads continue to work. + However, is specified, all of the + threads stop immediately in this case. Direct client errors. They lead to immediate exit from pgbench with the corresponding error message - only in the case of an internal pgbench - error (which are supposed to never occur...). Otherwise in the worst + in the case of an internal pgbench + error (which are supposed to never occur...) or when + is specified. Otherwise in the worst case they only lead to the abortion of the failed client while other clients continue their run (but some client errors are handled without an abortion of the client and reported separately, see below). Later in -- cgit v1.2.3