Skip site navigation (1) Skip section navigation (2)

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

From: "Marshall, Steve" <smarshall(at)wsi(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: pg_listener entries deleted under heavy NOTIFY load only on Windows
Date: 2009-02-03 19:43:25
Message-ID: 49889E5D.8020306@wsi.com (view raw or flat)
Thread:
Lists: pgsql-bugs
I've completed my test for changes to the Windows implementation of 
pgkill.  I ran two clients constantly doing a pair of notifications, 
with one client subscribing to those events.  I ran the test for 90 
hours.  I found 760 cases where the CallNamedPipe function initially 
failed, but succeeded after recalling.  In all but one of those cases, 
only a single retry was needed; the other case required two retries. 

As Tom has pointed out, there is no principled way to determine the 
correct number of times to retry.  Therefore, I have set the maximum 
number of retries to 2, which is the worst case found in a fairly long 
stress test.  This strikes me as a reasonable balance between failing 
quickly in truly erroneous cases, while still avoiding transient 
pseudo-failures.

A patch with this change is attached.   It should be applied to the 
8.3.5 version of src/port/kill.c

Steve



Attachment: kill.c.notify_dropping_patch
Description: text/plain (1.4 KB)

In response to

Responses

pgsql-bugs by date

Next:From: Bruce MomjianDate: 2009-02-04 18:32:47
Subject: Re: [HACKERS] BUG #4516: FOUND variable does not work after RETURN QUERY
Previous:From: Joshua TolleyDate: 2009-02-03 18:45:23
Subject: Re: Behavior of identically-named savepoints

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group