Re: BUG #4089: When available disk space is low pg_stop_backup() fails, as do subsequent recovery attempts.

From: "John Smith" <sodgodofall(at)gmail(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #4089: When available disk space is low pg_stop_backup() fails, as do subsequent recovery attempts.
Date: 2008-04-04 17:47:24
Message-ID: b88f0d670804041047j2707f8ebhfda54abbbab6453a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Fri, Apr 4, 2008 at 7:46 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> "John Smith" <sodgodofall(at)gmail(dot)com> writes:
> > Steps to reproduce:
> > -- start with a running PG instance with WAL archiving enabled
> > -- select pg_start_backup('test');
> > -- Fill up the disk on which the data directory is present
> > -- select pg_stop_backup();
> > -- fails with: ERROR: could not write file
> > "pg_xlog/000000010000000000000000.004989E8.backup": No space left on device
> > -- at this point there is a 0-byte file
> > pg_xlog/000000010000000000000000.004989E8.backup present on disk
> > -- stop and start PG
> > -- recovery fails with: FATAL: invalid data in file
> > "000000010000000000000000.004989E8.backup"
> > -- NOTE: At this point removing 000000010000000000000000.004989E8.backup
> > allows PG to start successfully
>
> What do you see as the bug here? Seems like reasonable behavior to me.
>
> regards, tom lane
>

I was expecting one of two things:
1. The zero-byte file is removed upon failure to write during
pg_stop_backup() (or )
2. The zero-byte file is ignored or deleted on startup, since the
administrator has no choice but to delete the file upon a failed
startup.

- John

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Peter Koczan 2008-04-04 22:11:25 BUG #4092: initdb fails if the xlog directory is the same as [pg_data]/pg_xlog
Previous Message Tom Lane 2008-04-04 14:46:28 Re: BUG #4089: When available disk space is low pg_stop_backup() fails, as do subsequent recovery attempts.