Re: [HACKERS] pgbench - minor fix for meta command only scripts
От | Jeff Janes |
---|---|
Тема | Re: [HACKERS] pgbench - minor fix for meta command only scripts |
Дата | |
Msg-id | CAMkU=1xCmFMHC1z3SPXU6s-LQiEaJ9z=11_nLLKY3rJ6uMkMuw@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] pgbench - minor fix for meta command only scripts (Fabien COELHO <coelho@cri.ensmp.fr>) |
Ответы |
Re: [HACKERS] pgbench - minor fix for meta command only scripts
|
Список | pgsql-hackers |
On Mon, Sep 4, 2017 at 1:56 PM, Fabien COELHO <coelho@cri.ensmp.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
В списке pgsql-hackers по дате отправления: