Re: pgsql: Add contrib/pg_walinspect. - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: pgsql: Add contrib/pg_walinspect.
Date
Msg-id CA+hUKGJAULJ_NtszwEdnSgrpRiQiRjsf62DG9_1B9x0Vzoex5g@mail.gmail.com
Whole thread Raw
In response to Re: pgsql: Add contrib/pg_walinspect.  (Thomas Munro <thomas.munro@gmail.com>)
Responses Re: pgsql: Add contrib/pg_walinspect.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Wed, Apr 27, 2022 at 1:54 PM Thomas Munro <thomas.munro@gmail.com> wrote:
> On Wed, Apr 27, 2022 at 1:47 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > Thomas Munro <thomas.munro@gmail.com> writes:
> > > Hrmph...  Are you sure you rebuilt the contrib module?   Assuming so,
> > > maybe it's failing in a different way for you and me.  For me, it
> > > always fails after this break is reached in xlogutil.c:
> >
> > >             /* If asked, let's not wait for future WAL. */
> > >             if (!wait_for_wal)
> > >                 break;
> >
> > Hmm.  For me, that statement is not reached at all in successful
> > (make installcheck) runs.  In a failing run, it's reached with
> > wait_for_wal = false, after which we get the "could not read WAL"
> > failure.  Usually that happens twice, as per attached.
>
> Ok, that's the same for me.  Next question: why does the patch I
> posted not help?  For me, the error "could not read WAL at %X/%X",
> seen on the BF log, is raised by ReadNextXLogRecord() in
> pg_walinspect.c.  The patch removes that ereport() entirely (and
> handles NULL in a couple of places).

BTW If you had your local change from debug.patch (upthread), that'd
defeat the patch.  I mean this:

+        if(!*errormsg)
+          *errormsg = "decode_queue_head is null";



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pgsql: Add contrib/pg_walinspect.
Next
From: Tom Lane
Date:
Subject: Re: pgsql: Add contrib/pg_walinspect.