RE: seems like a bug in pgbench -R
Imai, Yoshikazu <imai.yoshikazu@jp.fujitsu.com>
From: "Imai, Yoshikazu" <imai.yoshikazu@jp.fujitsu.com>
To: 'Fabien COELHO' <coelho@cri.ensmp.fr>
Cc: Tomas Vondra <tomas.vondra@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2019-07-25T00:01:57Z
Lists: pgsql-hackers
On Wed, July 24, 2019 at 7:02 PM, Fabien COELHO wrote:
> > but I have one question. Is it better adding any check like if(maxsock
> > != -1) before the select?
> >
> > else /* no explicit delay, select without timeout */
> > {
> > nsocks = select(maxsock + 1, &input_mask, NULL, NULL, NULL); }
>
> I think that it is not necessary because this case cannot happen: If some
> clients are still running (remains > 0), they are either sleeping, in
> which case there would be a timeout, or they are waiting for something
> from the server, otherwise the script could be advanced further so there
> would be something else to do for the thread.
Ah, I understand.
> We could check this by adding "Assert(maxsock != -1);" before this select,
> but I would not do that for a released version.
Yeah I also imagined that we can use Assert, but ah, it's released version.
I got it. Thanks for telling that.
So I'll mark this ready for committer.
--
Yoshikazu Imai
Commits
-
Fix possible lockup in pgbench with -R.
- e991b6cce3f2 11.5 landed
- 46c193213adb 10.10 landed
-
Rework the pgbench state machine code for clarity
- 3bac77c48f16 12.0 cited
-
Refactor script execution state machine in pgbench.
- 12788ae49e19 10.0 cited