Re: 12.3 replicas falling over during WAL redo

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Ben Chobot <bench(at)silentmedia(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: 12.3 replicas falling over during WAL redo
Date: 2020-08-03 23:54:48
Message-ID: 20200803235448.GA1736@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 2020-Aug-03, Ben Chobot wrote:

> Alvaro Herrera wrote on 8/3/20 2:34 PM:
> > On 2020-Aug-03, Ben Chobot wrote:

> > dd if=16605/16613/60529051 bs=8192 count=1 seek=6501 of=/tmp/page.6501
>
> If I use skip instead of seek....

Argh, yes, I did correct that in my test and forgot to copy and paste.

>      lsn      | checksum | flags | lower | upper | special | pagesize |
> version | prune_xid
> --------------+----------+-------+-------+-------+---------+----------+---------+-----------
>  A0A/99BA11F8 |     -215 |     0 |   180 |  7240 |    8176 |     8192
> |       4 |         0
>
> As I understand what we're looking at, this means the WAL stream was
> assuming this page was last touched by A0A/AB2C43D0, but the page itself
> thinks it was last touched by A0A/99BA11F8, which means at least one write
> to the page is missing?

Yeah, that's exactly what we're seeing. Somehow an older page version
was resurrected. Of course, this should never happen.

So my theory has been proved. What now?

--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David Rowley 2020-08-04 01:33:48 Re: bad JIT decision
Previous Message John Ashmead 2020-08-03 22:55:27 Re: How can you find out what point logical replication is at? -- or weird, slow, infinite loop