Re: Listen / Notify - what to do when the queue is full

Florian Pflug <fgp@phlo.org>

From: "Florian G. Pflug" <fgp@phlo.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Joachim Wieland <joe@mcknight.de>, Josh Berkus <josh@agliodbs.com>, pgsql-hackers@postgresql.org
Date: 2009-11-19T17:43:17Z
Lists: pgsql-hackers
Tom Lane wrote:
> "Florian G. Pflug" <fgp@phlo.org> writes:
>> Tom Lane wrote:
>>> This is still ignoring the complaint: you are creating a clear
>>> risk that COMMIT PREPARED will fail.
> 
>> I'd see no problem with "COMMIT PREPARED" failing, as long as it
>> was possible to retry the COMMIT PREPARED at a later time. There
>> surely are other failure cases for COMMIT PREPARED too, like an IO
>> error that prevents the clog bit from being set, or a server crash
>> half-way through COMMIT PREPARED.
> 
> Yes, there are failure cases that are outside our control.  That's no
>  excuse for creating one that's within our control.

True. On the other hand, people might prefer having to deal with (very
unlikely) COMMIT PREPARED *transient* failures over not being able to
use NOTIFY together with 2PC at all. Especially since any credible
distributed transaction manager has to deal with COMMIT PREPARED
failures anyway.

Just my $0.02, though.

best regards,
Florian Pflug