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: "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com>
Cc: ikedarintarof <ikedarintarof@oss.nttdata.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-06-30T06:02:36Z
Lists: pgsql-hackers
On Fri, 27 Jun 2025 10:59:09 +0000 "Hayato Kuroda (Fujitsu)" <kuroda.hayato@fujitsu.com> wrote: > > > Retrying the failed transaction is not necessary when the transaction > > > failed due to SQL-level errors. Unlike real-world applications, pgbench > > > does not need to complete specific transaction successfully. In the case > > > of unique constraint violations, retrying the same transaction will > > > likely to result in the same error again. > > I intended here that clients could throw away the failed transaction and start > new one again in the case. I hope we are on the same page... Could I confirm what you mean by "start new one"? In the current pgbench, when a query raises an error (a deadlock or serialization failure), it can be retried using the same random state. This typically means the query will be retried with the same parameter values. On the other hand, when the query ultimately fails (possibly after some retries), the transaction is marked as a "failure", and the next transaction starts with a new random state (i.e., with new parameter values). Therefore, if a query fails due to a unique constraint violation and is retried with the same parameters, it will keep failing on each retry. 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 →
-
pgbench: Fix assertion failure with multiple \syncpipeline in pipeline mode.
- 5bc251b28839 17.8 landed
- 00e64e35c8bd 18.2 landed
- 4aa0ac05765e 19 (unreleased) landed
-
pgbench: Add --continue-on-error option.
- 0ab208fa505c 19 (unreleased) landed
-
Fix "inconsistent DLL linkage" warning on Windows MSVC
- a3ea5330fcf4 19 (unreleased) cited
-
pgbench: Fix error reporting in readCommandResponse().
- 7d7e81d1e6b8 13.23 landed
- cb21e1f92fb3 14.20 landed
- bdccb6302871 15.15 landed
- 36c4d30c8f24 16.11 landed
- a912118c6055 17.7 landed
- 29aabbc43269 18.1 landed
- 19d4f9ffc207 19 (unreleased) landed
-
pgbench: Fix assertion failure with retriable errors in pipeline mode.
- 704f517711b4 15.15 landed
- 8b2e290bde21 16.11 landed
- f39d9164b70a 17.7 landed
- c736808e03b7 18.1 landed
- 8bb174295e89 19 (unreleased) landed
-
Allow pgbench to retry in some cases.
- 4a39f87acd6e 15.0 cited