Re: Background writer and checkpointer in crash recovery - Mailing list pgsql-hackers

From Justin Pryzby
Subject Re: Background writer and checkpointer in crash recovery
Date
Msg-id 20220913021311.GN31833@telsasoft.com
Whole thread Raw
In response to Background writer and checkpointer in crash recovery  (Thomas Munro <thomas.munro@gmail.com>)
Responses Re: Background writer and checkpointer in crash recovery
List 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.munro@gmail.com> wrote:
> > > On Tue, Aug 3, 2021 at 1:17 AM Robert Haas <robertmhaas@gmail.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



pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Adjust macro name in pg_backup_stop()
Next
From: bt22kawamotok
Date:
Subject: Re: Query Jumbling for CALL and SET utility statements