From: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
---|---|
To: | Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> |
Cc: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, PostgreSQL Developers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: pgbench - minor fix for meta command only scripts |
Date: | 2017-09-04 21:21:08 |
Message-ID: | CAMkU=1xCmFMHC1z3SPXU6s-LQiEaJ9z=11_nLLKY3rJ6uMkMuw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Sep 4, 2017 at 1:56 PM, Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> wrote:
>
> Hello Jeff,
>
> I have fixed a bug introduced in the patch by changing && by || in the
>>>> (min_sec > 0 && maxsock != -1) condition which was inducing errors with
>>>> multi-threads & clients...
>>>>
>>>
> Since this commit (12788ae49e1933f463bc5), if I use the --rate to throttle
>> the transaction rate, it does get throttled to about the indicated speed,
>> but the pg_bench consumes the entire CPU.
>>
>>
>> At the block of code starting
>> if (min_usec > 0 && maxsock != -1)
>>
>> If maxsock == -1, then there is no sleep happening.
>>
>
> Argh, shame on me:-(
>
> I cannot find the "induced errors" I was refering to in the message...
> Sleeping is definitely needed to avoid a hard loop.
>
> Patch attached fixes it and does not seem introduce any special issue...
>
> Should probably be backpatched.
>
> Thanks for the debug!
Thanks Fabien, that works for me.
But if min_sec <= 0, do we want to do whatever it is that we already know
is over-do, before stopping to do the select? If it is safe to go through
this code path when maxsock == -1, then should we just change it to this?
if (min_usec > 0)
Cheers,
Jeff
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-09-04 21:27:18 | Re: pgbench tap tests & minor fixes. |
Previous Message | Fabien COELHO | 2017-09-04 20:56:32 | Re: pgbench - minor fix for meta command only scripts |