Re: PANIC: heap_update_redo: no block

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: PANIC: heap_update_redo: no block
Date: 2006-03-22 20:06:18
Message-ID: 19159.1143057978@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

"Qingqing Zhou" <zhouqq(at)cs(dot)toronto(dot)edu> writes:
> (2) print verbose information after errror

If you want to do it that way, the correct thing is for the WAL replay
logic to add an error context hook to print the current WAL record,
not invent weird hacks in the error processing logic.
Compare the way bufmgr.c reports errors during smgrwrite() operations
(buffer_write_error_callback()).

One problem with the approach is that I'm not sure how robust the WAL
record description routines really are. They seem at the least
vulnerable to buffer-overflow issues. A crash while trying to describe
the current record wouldn't be a net improvement :-(. I'd kind of
want to modify them to have a more robust API, eg write into a
StringInfo instead of an unspecified-size buffer.

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Johan Vromans 2006-03-22 20:07:57 Re: Updating database structure
Previous Message Chris Browne 2006-03-22 19:56:26 Re: Advantages of PostgreSQL over MySQL 5.0

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Hallgren 2006-03-22 20:09:34 Re: Recursive calls to functions that return sets
Previous Message Chris Browne 2006-03-22 20:00:01 Re: How to put back??