Thread: pg_resetxlog bug?

pg_resetxlog bug?

From
Fujii Masao
Date:
Hi,

Current pg_resetxlog doesn't remove any archive status files. This
may cause continuous failure of archive command since .ready file
remains even if a corresponding XLOG segment is removed. And,
.done file without XLOG segment cannot be removed by checkpoint,
and would remain forever. These are undesirable behaviors.

I think that pg_resetxlog should remove existing archive status files
of XLOG segments. Here is the patch to do so.

Thought?

Regards,

--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Attachment

Re: pg_resetxlog bug?

From
Simon Riggs
Date:
On Fri, 2009-05-01 at 00:07 +0900, Fujii Masao wrote:

> Current pg_resetxlog doesn't remove any archive status files. This
> may cause continuous failure of archive command since .ready file
> remains even if a corresponding XLOG segment is removed. And,
> .done file without XLOG segment cannot be removed by checkpoint,
> and would remain forever. These are undesirable behaviors.

Agreed

> I think that pg_resetxlog should remove existing archive status files
> of XLOG segments. Here is the patch to do so.

Seems OK.

-- Simon Riggs           www.2ndQuadrant.comPostgreSQL Training, Services and Support



Re: pg_resetxlog bug?

From
Tom Lane
Date:
Fujii Masao <masao.fujii@gmail.com> writes:
> Current pg_resetxlog doesn't remove any archive status files. This
> may cause continuous failure of archive command since .ready file
> remains even if a corresponding XLOG segment is removed. And,
> .done file without XLOG segment cannot be removed by checkpoint,
> and would remain forever. These are undesirable behaviors.

> I think that pg_resetxlog should remove existing archive status files
> of XLOG segments. Here is the patch to do so.

Applied with a trivial fix (the ending value of "path" isn't necessarily
right for a complaint about directory read failure, so use a constant
instead).

I back-patched as far as 8.1.  The issue exists in 8.0 too, but the
patch didn't apply immediately to 8.0 because of the above issue.
Given the lack of field complaints and 8.0's rather legacy status,
it didn't seem worth expending extra effort on.
        regards, tom lane