Skip site navigation (1) Skip section navigation (2)

Re: [GENERAL] PANIC: heap_update_redo: no block

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Alex bahdushka" <bahdushka(at)gmail(dot)com>
Cc: "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>, pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [GENERAL] PANIC: heap_update_redo: no block
Date: 2006-03-27 15:22:49
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-generalpgsql-hackers
[ redirecting to a more appropriate mailing list ]

"Alex bahdushka" <bahdushka(at)gmail(dot)com> writes:

> LOG:  REDO @ D/19176610; LSN D/19176644: prev D/191765E8; xid 81148979: Heap - clean: rel 1663/16386/16559898; blk 0
> LOG:  REDO @ D/19176644; LSN D/191766A4: prev D/19176610; xid 81148979: Heap - move: rel 1663/16386/16559898; tid 1/1; new 0/10
> PANIC:  heap_update_redo: no block: target blcknum: 1, relation(1663/16386/16559898) length: 1

I think what's happened here is that VACUUM FULL moved the only tuple
off page 1 of the relation, then truncated off page 1, and now
heap_update_redo is panicking because it can't find page 1 to replay the
move.  Curious that we've not seen a case like this before, because it
seems like a generic hazard for WAL replay.

The simplest fix would be to treat WAL records as no-ops if they refer
to nonexistent pages, but that seems much too prone to hide real failure
conditions.  Another thought is to remember that we ignored this record,
and then complain if we don't see a TRUNCATE that would've removed the
page.  That would be pretty complicated but not impossible.  Anyone have
a better idea?

			regards, tom lane

In response to


pgsql-hackers by date

Next:From: Tom LaneDate: 2006-03-27 15:26:47
Subject: Re: Recovery from multi trouble
Previous:From: Dave PageDate: 2006-03-27 14:30:11
Subject: Re: Remote administration contrib module

pgsql-general by date

Next:From: Tom LaneDate: 2006-03-27 15:38:10
Subject: Re: Bug? was: Re: ERROR: could not convert UTF8 character to ISO8859-1
Previous:From: Ardian Xharra (Boxxo)Date: 2006-03-27 15:06:36
Subject: Creating serial ID on Windows.

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group