From: Jehan-Guillaume de Rorthais <jgdr@dalibo.com>
To: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Cc: robertmhaas@gmail.com
Cc: tgl@sss.pgh.pa.us
Cc: andres@anarazel.de
Cc: masao.fujii@oss.nttdata.com
Subject: Re: [patch] demote
Date: Wed, 1 Jul 2020 12:15:55 +0200
Message-ID: <20200701121555.4b9ee644@firost> (raw)
In-Reply-To: <20200626.161438.1461210156318414119.horikyota.ntt@gmail.com>
References: <20200617174451.222078b4@firost>
<20200625192754.3e105cfc@firost>
<20200626.161438.1461210156318414119.horikyota.ntt@gmail.com>
On Fri, 26 Jun 2020 16:14:38 +0900 (JST)
Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote:
> Hello.
>
> At Thu, 25 Jun 2020 19:27:54 +0200, Jehan-Guillaume de Rorthais
> <jgdr@dalibo.com> wrote in
> > Here is a summary of my work during the last few days on this demote
> > approach.
> >
> > Please, find in attachment v2-0001-Demote-PoC.patch and the comments in the
> > commit message and as FIXME in code.
> >
> > The patch is not finished or bug-free yet, I'm still not very happy with the
> > coding style, it probably lack some more code documentation, but a lot has
> > changed since v1. It's still a PoC to push the discussion a bit further
> > after being myself silent for some days.
> >
> > The patch is currently relying on a demote checkpoint. I understand a forced
> > checkpoint overhead can be massive and cause major wait/downtime. But I keep
> > this for a later step. Maybe we should be able to cancel a running
> > checkpoint? Or leave it to its synching work but discard the result without
> > wirting it to XLog?
>
> If we are going to dive so close to server shutdown, we can just
> utilize the restart-after-crash path, which we can assume to work
> reliably. The attached is a quite rough sketch, hijacking smart
> shutdown path for a convenience, of that but seems working. "pg_ctl
> -m s -W stop" lets server demote.
This was actually my very first toy PoC.
However, resetting everything is far from a graceful demote I was seeking for.
Moreover, such a patch will not be able to evolve to eg. keep read only
backends around.
> > I hadn't time to investigate Robert's concern about shared memory for
> > snapshot during recovery.
>
> The patch does all required clenaup of resources including shared
> memory, I believe. It's enough if we don't need to keep any resources
> alive?
Resetting everything might not be enough. If I understand Robert's concern
correctly, it might actually need more shmem for hot standby xact snapshot. Or
maybe some shmem init'ed differently.
Regards,
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-hackers@postgresql.org
Cc: jgdr@dalibo.com, horikyota.ntt@gmail.com, pgsql-hackers@lists.postgresql.org, robertmhaas@gmail.com, tgl@sss.pgh.pa.us, andres@anarazel.de, masao.fujii@oss.nttdata.com
Subject: Re: [patch] demote
In-Reply-To: <20200701121555.4b9ee644@firost>
* 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