Re: Background writer and checkpointer in crash recovery

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Aleksander Alekseev <aleksander(at)timescale(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Michael Paquier <michael(at)paquier(dot)xyz>
Subject: Re: Background writer and checkpointer in crash recovery
Date: 2022-09-13 02:13:11
Message-ID: 20220913021311.GN31833@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Sep 11, 2022 at 07:54:43PM -0500, Justin Pryzby wrote:
> On Tue, Aug 03, 2021 at 02:19:22PM +1200, Thomas Munro wrote:
> > On Tue, Aug 3, 2021 at 9:52 AM Thomas Munro <thomas(dot)munro(at)gmail(dot)com> wrote:
> > > On Tue, Aug 3, 2021 at 1:17 AM Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> > > > That's great. I just realized that this leaves us with identical
> > > > RequestCheckpoint() calls in two nearby places. Is there any reason
> > > > not to further simplify as in the attached?
> > >
> > > LGTM.
> >
> > And pushed.
>
> Gripe: this made the "ps" display worse than before.
>
> 7ff23c6d2 Run checkpointer and bgwriter in crash recovery.
>
> A couple years ago, I complained that during the end-of-recovery
> checkpoint, the "ps" display still said "recovering NNNNN", which made
> it look like it was stuck on a particular WAL file.
>
> That led to commit df9274adf, which updated the startup process's "ps"
> to say "end-of-recovery checkpoint".
>
> But since the start process no longer does the checkpoint, it still
> says:
>
> postgres 19738 11433 5 19:33 ? 00:00:01 postgres: startup recovering 000000010000000C000000FB
> postgres 19739 11433 3 19:33 ? 00:00:00 postgres: checkpointer performing end-of-recovery checkpoint
>
> That looks inconsistent. It'd be better if the startup process's "ps"
> were cleared.

Like this, maybe.

It's similar to what I suggested to consider backpatching here:
https://www.postgresql.org/message-id/20201214032224.GA30237%40telsasoft.com

diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 7a710e6490d..4bf8614d45f 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -5302,6 +5302,7 @@ StartupXLOG(void)
EndOfLogTLI = endOfRecoveryInfo->endOfLogTLI;
abortedRecPtr = endOfRecoveryInfo->abortedRecPtr;
missingContrecPtr = endOfRecoveryInfo->missingContrecPtr;
+ set_ps_display("");

/*
* When recovering from a backup (we are in recovery, and archive recovery

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message bt22kawamotok 2022-09-13 02:43:52 Re: Query Jumbling for CALL and SET utility statements
Previous Message Michael Paquier 2022-09-13 01:58:50 Re: Adjust macro name in pg_backup_stop()