Re: Running from 9.6 backups sometimes fails with fatal error - Mailing list pgsql-general

From Sergey Burladyan
Subject Re: Running from 9.6 backups sometimes fails with fatal error
Date
Msg-id 8736ofeiuf.fsf@gmail.com
Whole thread Raw
In response to Running from 9.6 backups sometimes fails with fatal error  (Sergey Burladyan <eshkinkot@gmail.com>)
List pgsql-general
I started trying to debug backup with minimal WALs for achieve consistency, it is from 'server 2'
and it only needs 20 WAL files.

It error was:
ERROR:  xlog flush request 44B/7E5DAB28 is not satisfied --- flushed only to 44B/7305B560
CONTEXT:  writing block 0 of relation base/16506/16891_vm

=== backup_label ===
START WAL LOCATION: 44B/6002F280 (file 000000010000044B00000060)
CHECKPOINT LOCATION: 44B/7305B4F0
BACKUP METHOD: streamed
BACKUP FROM: standby
START TIME: 2019-02-13 03:19:54 MSK
LABEL: pg_basebackup base backup

=== controldata ===
Database cluster state:               in archive recovery
pg_control last modified:             Wed 13 Feb 2019 03:19:54 AM MSK
Latest checkpoint location:           44B/7305B4F0
Latest checkpoint's REDO location:    44B/6002F280
Latest checkpoint's REDO WAL file:    000000010000044B00000060
Time of latest checkpoint:            Wed 13 Feb 2019 02:19:36 AM MSK
Minimum recovery ending location:     44B/7305B560

I scan all *_vm files in DB 16506 for pages with LSN bigger than 'Minimum recovery ending
location' and find three files:
base/16506/190024_vm 0000000 44B/9411F5C0
base/16506/190005_vm 0000000 44B/94121DE8
base/16506/16891_vm 0000000 44B/7E5DAB28

Then I parse (pg_xlogdump) all this 20 WALs, needed for consistency and search for this three
oid, for 190024 and 190005 I found VISIBLE WAL record:
=== $ grep 190024 wals-text | grep VISIBLE ===
rmgr: Heap2       len (rec/tot):     64/  8256, tx:          0, lsn: 44B/651EDAE8, prev 44B/651EDA58, desc: VISIBLE
cutoffxid 752732359 flags 1, blkref #0: rel 1663/16506/190024 fork vm blk 0 FPW, blkref #1: rel 1663/16506/190024 blk
0
rmgr: Heap2       len (rec/tot):     59/    59, tx:          0, lsn: 44B/6B19A6E8, prev 44B/6B19A658, desc: VISIBLE
cutoffxid 752734764 flags 1, blkref #0: rel 1663/16506/190024 fork vm blk 0, blkref #1: rel 1663/16506/190024 blk 0
 
rmgr: Heap2       len (rec/tot):     59/    59, tx:          0, lsn: 44B/71194D40, prev 44B/71194CB0, desc: VISIBLE
cutoffxid 752737874 flags 1, blkref #0: rel 1663/16506/190024 fork vm blk 0, blkref #1: rel 1663/16506/190024 blk 0
 
=== $ grep 190005 wals-text | grep VISIBLE ===
rmgr: Heap2       len (rec/tot):     64/  8256, tx:          0, lsn: 44B/651F3728, prev 44B/651F36C8, desc: VISIBLE
cutoffxid 752732355 flags 1, blkref #0: rel 1663/16506/190005 fork vm blk 0 FPW, blkref #1: rel 1663/16506/190005 blk
0
rmgr: Heap2       len (rec/tot):     59/    59, tx:          0, lsn: 44B/6B19AE80, prev 44B/6B19AE20, desc: VISIBLE
cutoffxid 752732667 flags 1, blkref #0: rel 1663/16506/190005 fork vm blk 0, blkref #1: rel 1663/16506/190005 blk 0
 
rmgr: Heap2       len (rec/tot):     59/    59, tx:          0, lsn: 44B/6B19CF10, prev 44B/6B19AEC0, desc: VISIBLE
cutoffxid 752734752 flags 1, blkref #0: rel 1663/16506/190005 fork vm blk 0, blkref #1: rel 1663/16506/190005 blk 1
 
rmgr: Heap2       len (rec/tot):     59/    59, tx:          0, lsn: 44B/711954D8, prev 44B/71195478, desc: VISIBLE
cutoffxid 752737869 flags 1, blkref #0: rel 1663/16506/190005 fork vm blk 0, blkref #1: rel 1663/16506/190005 blk 0
 

But I did not find in parsed WALs anything about vm fork for 16891.

Is it OK, or is something wrong here?

PS:
I try to remove all problematic visibility maps, with page LSN bigger than 'Minimum recovery ending
location') and start backup without it. Without it postgres started successfully.

-- 
Sergey Burladyan


pgsql-general by date:

Previous
From: Martín Fernández
Date:
Subject: Re: PG Upgrade with hardlinks, when to start/stop master and replicas
Next
From: legrand legrand
Date:
Subject: RE: pg_stat_statements doesn't track commit from pl/pgsql blocks