Re: pg_listener entries deleted under heavy NOTIFY load only on Windows

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: "Marshall, Steve" <smarshall(at)wsi(dot)com>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: pg_listener entries deleted under heavy NOTIFY load only on Windows
Date: 2009-01-16 15:20:27
Message-ID: 6346.1232119227@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> Marshall, Steve wrote:
>> Any thoughts on how to confirm or deny Theory A?

> Try changing the 1000 to NMPWAIT_WAIT_FOREVER

As long as you're changing the source code, it'd be a good idea to
verify the supposition that kill() is failing, eg
in src/backend/commands/async.c

if (kill(listenerPID, SIGUSR2) < 0)
{
+ elog(LOG, "kill(%d) failed: %m", listenerPID);
/*
* Get rid of pg_listener entry if it refers to a PID that no
* longer exists. Presumably, that backend crashed without
* deleting its pg_listener entries. This code used to only

If that's right, sprinkling a few debug printouts into src/port/kill.c
would be the next step.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message r m 2009-01-16 20:18:51 can not install
Previous Message Tom Lane 2009-01-16 15:04:08 Re: BUG #4619: pg_ctl reports strange error message when be executed on non executable directory