Re: pgbench: make verbose error messages thread-safe
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-04-24T08:07:27Z
Lists: pgsql-hackers
On Fri, Apr 24, 2026 at 03:26:03PM +0900, Fujii Masao wrote: > Attached patch fixes this issue by changing printVerboseErrorMessages() > to use a local PQExpBufferData instead of a static one. Thoughts? That looks like an oversight of 4a39f87acd6e to me. A static buffer in this context is not adapted. > Since this issue was introduced in v15, the patch should be > backpatched to v15 if accepted. This forces a new allocation for each message printed vs a set of resets after one allocation is done. This change is not going to be entirely free as done in the patch, so should we worry about that? Perhaps it would be cheaper to allocate a PQExpBuffer in each CState, and just reuse it in this routine? -- Michael
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 verbose error message corruption with multiple threads
- f18fcd9a450b 15 (unreleased) landed
- 6432a4cd68a3 16 (unreleased) landed
- 52b3e7001cb3 17 (unreleased) landed
- 98dd6c204696 18 (unreleased) landed
- 61f8a85a577f 19 (unreleased) landed