From: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
---|---|
To: | Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Tracking wait event for latches |
Date: | 2016-10-04 21:07:34 |
Message-ID: | CAB7nPqSE4VtWTJsmogYRmQTMqwzfSHGk-OpMsGieC5_OErBo9w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Oct 5, 2016 at 4:28 AM, Thomas Munro
<thomas(dot)munro(at)enterprisedb(dot)com> wrote:
> On Wed, Oct 5, 2016 at 4:59 AM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>> On Mon, Oct 3, 2016 at 8:43 PM, Michael Paquier
>> <michael(dot)paquier(at)gmail(dot)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
Attachment | Content-Type | Size |
---|---|---|
we-msvc-fixes.patch | application/x-download | 8.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2016-10-04 21:14:53 | Re: Stopping logical replication protocol |
Previous Message | Vladimir Gordiychuk | 2016-10-04 21:01:07 | Re: Stopping logical replication protocol |