Detecting corrupted pages earlier

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Detecting corrupted pages earlier
Дата
Msg-id 10240.1045510863@sss.pgh.pa.us
обсуждение исходный текст
Ответы Re: Detecting corrupted pages earlier  (Sailesh Krishnamurthy <sailesh@cs.berkeley.edu>)
Re: Detecting corrupted pages earlier  (Curt Sampson <cjs@cynic.net>)
Список pgsql-hackers
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
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?
        regards, tom lane


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: new Configuration patch, implements 'include'
Следующее
От: Sailesh Krishnamurthy
Дата:
Сообщение: Re: Detecting corrupted pages earlier