pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: TAKATSUKA Haruka <harukat@sraoss.co.jp>
To: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #15402: Hot standby server with archive_mode=on keeps initial WAL segments
Date: Fri, 28 Sep 2018 12:20:03 +0900
Message-ID: <20180928122003.fccf29e4b18e1578eea81967@sraoss.co.jp> (raw)
In-Reply-To: <20180927044430.GP1659@paquier.xyz>
References: <15402-a453c90ed4cf88b2@postgresql.org>
	<20180926035205.GJ1659@paquier.xyz>
	<20180926133640.99bfbc7ea82f71aa91a02c11@sraoss.co.jp>
	<20180926141236.160707712aea82341f01b03f@sraoss.co.jp>
	<20180927044430.GP1659@paquier.xyz>

Hi Michael,

On Thu, 27 Sep 2018 13:44:30 +0900
Michael Paquier <michael@paquier.xyz> wrote:

> On Wed, Sep 26, 2018 at 02:12:36PM +0900, TAKATSUKA Haruka wrote:
> > I think is it natural that some segments are not archived when you 
> > switch archive_mode back-and-forth.
> > 
> > I also think a fix to prevent generating .ready file at hot standby
> > server in this case is better. I don't have a concrete idea to do so now.
> 
> I looked at this problem, and I completely agree.  From what I can see,
> the restart point run on the standby creates a .ready file for the
> oldest segment because there were no .done file present in it, so the
> checkpointer thinks that it should mark the file with .ready, and then
> makes it ready for archiving, which is never going to happen with
> archive_mode = on.  All the newer segments are already marked with
> .done, so they are getting recycled correctly.
> 
> Your patch is not completely correct though, as the origin of the
> problem comes from XLogArchiveCheckDone(), which should be made more
> solid depending on the archive mode used.  The solution attached
> actually fixes a second bug, which is less annoying by the way, as past
> backup history files may stay behind on standbys.  I looked at all the
> code paths of XLogArchivingActive() and that's the only problem I can
> see.

I fixed only RemoveOldXlogFiles() in my patch because merely
I wasn't sure that keeping an old history file is a bug behavir.

> In guc.c, SHOW archive_command would print as "(disabled)" on
> standbys even if archive_mode = on, but we lived with this behavior for
> ages.  The user can understand that archiving is enabled only on a
> primary this way when looking at a standby, so that should not be
> changed.
> 
> Takatsuka-san, what do you think?

I think it is not necessary to change though it is a somewhat
mistakable feature.


Thanks,
Haruka Takatsuka





view thread (9+ messages)  latest in thread

Message-ID: <20180928122003.fccf29e4b18e1578eea81967@sraoss.co.jp>
Permalink:  ../20180928122003.fccf29e4b18e1578eea81967@sraoss.co.jp/
Also on:    postgresql.org/message-id/20180928122003.fccf29e4b18e1578eea81967@sraoss.co.jp

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-bugs@postgresql.org
  Cc: harukat@sraoss.co.jp, michael@paquier.xyz, pgsql-bugs@lists.postgresql.org
  Subject: Re: BUG #15402: Hot standby server with archive_mode=on keeps initial WAL segments
  In-Reply-To: <20180928122003.fccf29e4b18e1578eea81967@sraoss.co.jp>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox