Skip site navigation (1) Skip section navigation (2)

Re: several problems in pg_receivexlog

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: several problems in pg_receivexlog
Date: 2012-07-10 17:03:06
Message-ID: CAHGQGwFhgWVVFybHCtO7BoaeLcGQ6Yf=pCUZMA-8P+vfWOQBvg@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-hackers
On Tue, Jul 10, 2012 at 3:23 AM, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
> Hi,
>
> I found several problems in pg_receivexlog, e.g., memory leaks,
> file-descripter leaks, ..etc. The attached patch fixes these problems.
>
> ISTM there are still some other problems in pg_receivexlog, so I'll
> read it deeply later.

While pg_basebackup background process is streaming WAL records,
if its replication connection is terminated (e.g., walsender in the server
is accidentally terminated by SIGTERM signal), pg_basebackup ends
up failing to include all required WAL files in the backup. The problem
is that, in this case, pg_basebackup doesn't emit any error message at all.
So an user might misunderstand that a base backup has been successfully
taken even though it doesn't include all required WAL files.

To fix this problem, I think that, when the replication connection is
terminated, ReceiveXlogStream() should check whether we've already
reached the stop point by calling stream_stop() before returning TRUE.
If we've not yet (this means that we've not received all required WAL
files yet), ReceiveXlogStream() should return FALSE and
pg_basebackup should emit an error message.  Comments?

Regards,

-- 
Fujii Masao

In response to

Responses

pgsql-hackers by date

Next:From: Magnus HaganderDate: 2012-07-10 17:06:39
Subject: Re: Using pg_upgrade on log-shipping standby servers
Previous:From: Josh BerkusDate: 2012-07-10 16:59:50
Subject: Re: pg_prewarm

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group