Re: Detecting corrupted pages earlier

Поиск
Список
Период
Сортировка
От Hiroshi Inoue
Тема Re: Detecting corrupted pages earlier
Дата
Msg-id 3E52C822.656FB8AC@tpf.co.jp
обсуждение исходный текст
Ответ на Detecting corrupted pages earlier  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Detecting corrupted pages earlier  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> 
> Postgres has a bad habit of becoming very confused if the page header of
> a page on disk has become corrupted.  In particular, bogus values in the
> pd_lower field tend to make it look like there are many more tuples than
> there really are, and of course these "tuples" contain garbage.  That
> leads to core dumps, weird complaints about out-of-range transaction
> numbers (the latter generally in the form of an abort referencing a
> nonexistent pg_clog file), and other un-fun stuff.
> 
> I'm thinking of modifying ReadBuffer() so that it errors out if the

What does the *error out* mean ?
Is there a way to make our way around the pages ?
> page read in does not contain either zeroes or a valid-looking header.
> (The exception for zeroes seems to be needed for hash indexes, which
> tend to initialize pages out-of-order.)  This would make it much easier
> for people to recognize situations where a page header has become
> corrupted on disk.
> 
> Comments?  Can anyone think of a scenario where this would be a bad
> idea?

IIRC there was a similar thread long ago.
IMHO CRC isn't sufficient because CRC could be calculated
even for (silently) corrupted pages.

regards, 
Hiroshi Inouehttp://www.geocities.jp/inocchichichi/psqlodbc/


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: Hard problem with concurrency
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Detecting corrupted pages earlier