pgsql: Fix NOTIFY to cope with I/O problems, such as out-of-disk-space.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix NOTIFY to cope with I/O problems, such as out-of-disk-space.
Date: 2012-06-29 04:52:14
Message-ID: E1SkTBm-0002Du-SJ@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix NOTIFY to cope with I/O problems, such as out-of-disk-space.

The LISTEN/NOTIFY subsystem got confused if SimpleLruZeroPage failed,
which would typically happen as a result of a write() failure while
attempting to dump a dirty pg_notify page out of memory. Subsequently,
all attempts to send more NOTIFY messages would fail with messages like
"Could not read from file "pg_notify/nnnn" at offset nnnnn: Success".
Only restarting the server would clear this condition. Per reports from
Kevin Grittner and Christoph Berg.

Back-patch to 9.0, where the problem was introduced during the
LISTEN/NOTIFY rewrite.

Branch
------
REL9_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/f374098e8c5f58b95e03b923c8a808cdeeea93e7

Modified Files
--------------
src/backend/commands/async.c | 27 ++++++++++++++++++++++-----
1 files changed, 22 insertions(+), 5 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2012-06-29 11:04:26 pgsql: Make init-po and update-po recursive make targets
Previous Message Alvaro Herrera 2012-06-29 03:50:04 pgsql: pg_upgrade: fix off-by-one mistake in snprintf