Re: pg_dump -Fd fails to detect ENOSPC

Lists: Postg젠 토토SQL : Postg젠 토토SQL 메일 링리스트 : 2014-09-17 이후 PGSQL-BUGS 15:26
From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: pg_dump -Fd fails to detect ENOSPC
Date: 2014-09-16 16:57:15
Message-ID: 20140916165715.GA4560@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

pg_dump -Fc works correctly, but -Fd does not detect out of disk space
condition (even if --jobs is not specified). Client and server version 9.3.5.

sudo lvcreate -L 1M -n full data
sudo mkfs.ext3 -j -m0 /dev/data/full
sudo mkdir /srv/full
sudo mount /dev/data/full /srv/full
sudo chown postgres: /srv/full
sudo -u postgres strace -xs3 pg_dump -t 'a*' ts -Fd -f /srv/full/x
[...]
write(4, "\x64\x63\x81"..., 1024) = 1024
write(4, "\x40\x58\xd7"..., 15360) = 7168
write(4, "\x8f\x71\xad"..., 8192) = -1 ENOSPC (No space left on device)
write(4, "\x35\x33\xe7"..., 1024) = 1024
write(4, "\xd7\xe4\x0e"..., 15360) = -1 ENOSPC (No space left on device)
write(4, "\x35\x33\xe7"..., 1024) = -1 ENOSPC (No space left on device)
write(4, "\x35\x33\xe7"..., 1024) = -1 ENOSPC (No space left on device)
poll([{fd=3, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=3, revents=POLLIN}])
recvfrom(3, "YST"..., 24430, 0, NULL, NULL) = 24430
write(4, "\x35\x33\xe7"..., 1024) = -1 ENOSPC (No space left on device)
write(4, "\x35\x33\xe7"..., 1024) = -1 ENOSPC (No space left on device)
write(4, "\x35\x33\xe7"..., 1024) = -1 ENOSPC (No space left on device)
[...]


From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: Re: pg_dump -Fd fails to detect ENOSPC
Date: 2014-09-17 15:26:23
Message-ID: 20140917152623.GA13240@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: Postg젠 토토SQL : Postg젠 토토SQL 메일 링리스트 : 2014-09-17 이후 PGSQL-BUGS 15:26

Seems to be a simple unchecked return value...I'm testing with this, but won't
endeavor to propose a formal patch.

pg_dump.c
if (copybuf)
{
int ret2;
ret2=WriteData(fout, copybuf, ret);
if (ret!=ret2) {
exit_horribly(NULL, "error writing, (%d %d)\n", ret, ret2);
}

PQfreemem(copybuf);
}


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: pg_dump -Fd fails to detect ENOSPC
Date: 2014-09-17 16:16:51
Message-ID: 4970.1410970611@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

Justin Pryzby <pryzby(at)telsasoft(dot)com> writes:
> pg_dump -Fc works correctly, but -Fd does not detect out of disk space
> condition (even if --jobs is not specified). Client and server version 9.3.5.

I believe this was dealt with by Bruce in commit 14ea89366, which
will appear in 9.4. Arguably that was a back-patchable bug fix, but
the patch seemed a bit large to risk back-patching.

regards, tom lane


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, pgsql-bugs(at)postgresql(dot)org
Subject: Re: pg_dump -Fd fails to detect ENOSPC
Date: 2014-09-29 14:42:01
Message-ID: 20140929144201.GB16572@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

On Wed, Sep 17, 2014 at 09:16:51AM -0700, Tom Lane wrote:
> Justin Pryzby <pryzby(at)telsasoft(dot)com> writes:
> > pg_dump -Fc works correctly, but -Fd does not detect out of disk space
> > condition (even if --jobs is not specified). Client and server version 9.3.5.
>
> I believe this was dealt with by Bruce in commit 14ea89366, which
> will appear in 9.4. Arguably that was a back-patchable bug fix, but
> the patch seemed a bit large to risk back-patching.

Yeah, that and the lack of complaints about the problem discouraged
backpatching this.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ Everyone has their own god. +