Re: Notify system doesn't recover from "No space" error

From: Christoph Berg <christoph(dot)berg(at)credativ(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>, pgsql-hackers(at)postgresql(dot)org, Joachim Wieland <joe(at)mcknight(dot)de>
Subject: Re: Notify system doesn't recover from "No space" error
Date: 2012-07-02 15:55:38
Message-ID: 20120702155538.GG8539@msgid.df7cb.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Re: Tom Lane 2012-06-29 <8308(dot)1340933751(at)sss(dot)pgh(dot)pa(dot)us>
> in async.c that would try to create the missing page. This error will
> persist until the server is restarted (thus resetting the state of
> pg_notify), even if the underlying disk-full condition is cleared.

Thanks for digging into this and providing a patch. I've applied it to
9.1.4-2 here, and now the server recovers more gracefully from the
error: (sorry for the German locale, the error is ENOSPC)

2012-07-02 17:45:59 CEST FEHLER: konnte auf den Status von Transaktion 0 nicht zugreifen
2012-07-02 17:45:59 CEST DETAIL: Konnte nicht in Datei »pg_notify/0000« bei Position 32768 schreiben: Auf dem Gerät ist kein Speicherplatz mehr verfügbar.
2012-07-02 17:45:59 CEST ANWEISUNG: commit

A subsequent "notify foobar" command did succeed after clearing the
disk space.

What is still puzzling me is that the customer is repeatedly reporting
these issues, even after rebooting the system. I am not 100% sure at
which point the disk full situation was resolved, but at least it
sounds like that problem would reappear after restarts. I will need to
get more detailed reports on the order of events there to make sure.

Christoph
--
cb(at)df7cb(dot)de | http://www.df7cb.de/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2012-07-02 16:03:55 Re: Notify system doesn't recover from "No space" error
Previous Message David Fetter 2012-07-02 15:49:05 Re: [COMMITTERS] pgsql: Make walsender more responsive.