]> granicus.if.org Git - postgresql/commit
Fix NOTIFY to cope with I/O problems, such as out-of-disk-space.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 29 Jun 2012 04:51:49 +0000 (00:51 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 29 Jun 2012 04:51:49 +0000 (00:51 -0400)
commit38a90526a13670e56f22fba818362255ddaf52c2
treec85027808a2016d98f1b181487302a8d5d12f548
parent73a3b1d4589eaf3dc7f0a573727a2a6ac5279e6a
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.
src/backend/commands/async.c