pg_resetxlog bug?

Started by Fujii Masaoalmost 17 years ago3 messageshackers
Jump to latest
#1Fujii Masao
masao.fujii@gmail.com

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

Attachments:

resetxlog_0430.patchtext/x-patch; charset=US-ASCII; name=resetxlog_0430.patchDownload+58-0
#2Simon Riggs
simon@2ndQuadrant.com
In reply to: Fujii Masao (#1)
Re: pg_resetxlog bug?

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.com
PostgreSQL Training, Services and Support

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Fujii Masao (#1)
Re: pg_resetxlog bug?

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