Re: Tracking wait event for latches
От | Michael Paquier |
---|---|
Тема | Re: Tracking wait event for latches |
Дата | |
Msg-id | CAB7nPqSE4VtWTJsmogYRmQTMqwzfSHGk-OpMsGieC5_OErBo9w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Tracking wait event for latches (Thomas Munro <thomas.munro@enterprisedb.com>) |
Ответы |
Re: Tracking wait event for latches
|
Список | pgsql-hackers |
On Wed, Oct 5, 2016 at 4:28 AM, Thomas Munro <thomas.munro@enterprisedb.com> wrote: > On Wed, Oct 5, 2016 at 4:59 AM, Robert Haas <robertmhaas@gmail.com> wrote: >> On Mon, Oct 3, 2016 at 8:43 PM, Michael Paquier >> <michael.paquier@gmail.com> wrote: >>> The rest looks good to me. Thanks for the feedback and the time! >> >> Thanks for the fixes. I committed this... Yeh! >> ... with an additional compile >> fix, but the buildfarm turned up a few more problems that my 'make >> check-world' didn't find. Hopefully those are fixed now, but we'll >> see. I saw that after waking up... As usual the buildfarm is catching up many of the things I missed.. > Nitpicking: the includes in bgworker.c weren't sorted properly, and > then this patch added "pgstat.h" in the wrong position. See attached > suggestion. Yes, that should be fixed. And for the rest, sorry for the delay. Timezones... More seriously, the Windows animals have been complaining about pg_sleep() crashing the system: SELECT pg_sleep(0.1); ! server closed the connection unexpectedly ! This probably means the server terminated abnormally ! before or while processing the request. ! connection to server was lost And I think that the answer to this crash is in WaitForSingleObject(), where the macro WAIT_TIMEOUT is already defined, so there is an overlap with the new declarations in pgstat.h: https://msdn.microsoft.com/en-us/library/aa450988.aspx This is also generating a bunch of build warnings now that I compile HEAD on Windows. Regression tests are not crashing here, but I am getting a failure in stats.sql and pg_sleep is broken. I swear I tested that at some point and did not see a crash or those warnings... But well what's done is done. It seems to me that a correct answer would be to rename this class ID. But instead I'd suggest to append the prefix PG_* to all the class events like in the attached, that passes make-check, contrib-check, modules-check and builds without warnings on Windows. A more simple fix would be just to rename WAIT_TIMEOUT to something else but appending PG_ looks better in the long term. -- Michael
Вложения
В списке pgsql-hackers по дате отправления: