Re: pgbench bug candidate: negative "initial connection time"

Fujii Masao <masao.fujii@oss.nttdata.com>

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Yugo NAGATA <nagata@sraoss.co.jp>
Cc: Fabien COELHO <coelho@cri.ensmp.fr>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, kuroda.hayato@fujitsu.com, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2021-11-01T14:01:54Z
Lists: pgsql-hackers

Attachments


On 2021/09/29 22:11, Fujii Masao wrote:
> 
> 
> On 2021/09/24 11:26, Fujii Masao wrote:
>>
>>
>> On 2021/09/24 7:26, Yugo NAGATA wrote:
>>> That makes sense. Failures of setup connection or initial connection doesn't
>>> seem 'static problems'. I rewrote this description to explain exit status 1
>>> indicates also interal errors and early errors.
>>>
>>>    Exit status 1 indicates static problems such as invalid command-line options
>>>    or internal errors which are supposed to never occur.  Early errors that occur
>>>    when starting benchmark such as initial connection failures also exit with
>>>    status 1.
>>
>> LGTM. Barring any objection, I will commit the patch.
> 
> I extracted two changes from the patch and pushed (also back-patched) them.
> 
> The remainings are the changes of handling of initial connection or
> logfile open failures. I agree to push them at least for the master.
> But I'm not sure if they should be back-patched. Without these changes,
> even when those failures happen, pgbench proceeds the benchmark and
> reports the result. But with the changes, pgbench exits immediately in
> that case. I'm not sure if there are people who expect this behavior,
> but if there are, maybe we should not change it at least at stable branches.
> Thought?

The current behavior should be improved, but not a bug.
So I don't think that the patch needs to be back-patched.
Barring any objection, I will push the attached patch to the master.

Regards,

-- 
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION

Commits

  1. pgbench: Fix typo in comment.

  2. pgbench: Improve error-handling in pgbench.

  3. pgbench: Fix handling of socket errors during benchmark.

  4. pgbench: Correct log level of message output when socket wait method fails.

  5. pgbench: Synchronize client threads.

  6. pgbench: Use common logging API