Re: Suggestion to add --continue-client-on-abort option to pgbench

Yugo Nagata <nagata@sraoss.co.jp>

From: Yugo Nagata <nagata@sraoss.co.jp>
To: Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com>
Cc: Fujii Masao <masao.fujii@gmail.com>, Rintaro Ikeda <ikedarintarof@oss.nttdata.com>, Jakub Wartak <jakub.wartak@enterprisedb.com>, "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>, "slpmcf@gmail.com" <slpmcf@gmail.com>, "boekewurm+postgres@gmail.com" <boekewurm+postgres@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>, Srinath Reddy Sadipiralla <srinath2133@gmail.com>, Dilip Kumar <dilipbalaut@gmail.com>
Date: 2025-09-26T02:52:34Z
Lists: pgsql-hackers
On Thu, 25 Sep 2025 10:27:44 +0200
Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com> wrote:

> Hi,
> 
> The patch looks good, I've spotted some typos in the doc.
> 
> +        Allows clients to continue their run even if an SQL statement
> fails due to
> +        errors other than serialization or deadlock. Unlike
> serialization and deadlock
> +        failures, clients do not retry the same transactions but
> start new transaction.
> 
> Should be "but start a new transaction.", although "proceed to the
> next transaction." may be clearer here that ?
> 
> +       number of transactions that got a SQL error
> +       (zero unless <option>--failures-detailed</option> is specified)
> 
> It seems like both "a SQL" and "an SQL" are used in the codebase and
> doc, but this page only uses "an SQL", so using "an SQL" may be better
> for consistency.
> 
> +   If an SQL command fails due to serialization or deadlock errors, the
> +   client does not aborted, regardless of whether
> 
> Should be "the client does not abort."

Thank you for your review.
I've attached the updated patch in my previous post in this thread.

By the way, on the pgsql-hackers list, top-posting is generally discouraged [1],
so replying below the quoted messages is usually preferred.

[1] https://wiki.postgresql.org/wiki/Mailing_Lists

Regards,
Yugo Nagata

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



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. pgbench: Fix assertion failure with multiple \syncpipeline in pipeline mode.

  2. pgbench: Add --continue-on-error option.

  3. Fix "inconsistent DLL linkage" warning on Windows MSVC

  4. pgbench: Fix error reporting in readCommandResponse().

  5. pgbench: Fix assertion failure with retriable errors in pipeline mode.

  6. Allow pgbench to retry in some cases.