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  (Fabien COELHO <coelho@cri.ensmp.fr>)
Список 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 по дате отправления:

Предыдущее
От: Fabien COELHO
Дата:
Сообщение: Re: [HACKERS] pgbench - minor fix for meta command only scripts
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] pgbench tap tests & minor fixes.