Re: shm_mq fix for non-blocking mode - Mailing list pgsql-hackers

From Robert Haas
Subject Re: shm_mq fix for non-blocking mode
Date
Msg-id CA+Tgmob1_E6dFHknooJG_VNjicSt6fonAaDVgbrh7QQm2uVfzw@mail.gmail.com
Whole thread Raw
In response to Re: shm_mq fix for non-blocking mode  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On Thu, Oct 22, 2015 at 10:00 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>> ...and so I've committed it and back-patched to 9.4.
>
> Sigh.  This was buggy; I have no idea how it survived my earlier testing.
>
> I will go fix it.  Sorry.

Gah!  That, too, turned out to be buggy, although in a considerably
more subtle way.  I've pushed another fix with a detailed comment and
an explanatory commit message that hopefully squashes this problem for
good.  Combined with the fix at
http://www.postgresql.org/message-id/CA+TgmoZzv3u9trsvcAO+-OtXbsz_u+A5Q8X-_B+VZceHhtzTmA@mail.gmail.com
this seems to squash occasional complaints about workers "dying
unexpectedly" when they really had done no such thing.

The test code I used to find these problems is attached.  I compiled
and installed the parallel_dummy extension, did pgbench -i -s 100, and
then ran this:

while psql -c "select parallel_count('pgbench_accounts', 4)"; do sleep 1; done

Without these fixes, this can hang or error out, but with these fixes,
it works fine.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Attachment

pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: ParallelContexts can get confused about which worker is which
Next
From: Bill Moran
Date:
Subject: RFC/WIP: adding new configuration options to TOAST