Re: pgsql: Validate page level checksums in base backups

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: pgsql: Validate page level checksums in base backups
Дата
Msg-id 22322.1522780151@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: pgsql: Validate page level checksums in base backups  (Magnus Hagander <magnus@hagander.net>)
Ответы Re: pgsql: Validate page level checksums in base backups  (Peter Geoghegan <pg@bowt.ie>)
Re: pgsql: Validate page level checksums in base backups  (Peter Geoghegan <pg@bowt.ie>)
Re: pgsql: Validate page level checksums in base backups  (Magnus Hagander <magnus@hagander.net>)
Re: pgsql: Validate page level checksums in base backups  (Magnus Hagander <magnus@hagander.net>)
Список pgsql-hackers
Magnus Hagander <magnus@hagander.net> writes:
> Yeah, there's clearly a second problem here.

I think this test script is broken in many ways.

It's scribbling on the source cluster's disk files and assuming that that
translates one-for-one to what gets sent to the slave server --- but what
if some of the blocks that it modifies on-disk are resident in the
source's shared buffers?  I think you'd have to shut down the source and
then apply the corruption if you want stable results.

I'd bet a good lunch that nondefault BLCKSZ would break it, as well,
since the way in which the corruption is induced is just guessing
as to where page boundaries are.

Also, scribbling on tables as sensitive as pg_class is just asking for
trouble IMO.  I don't see anything in this test, for example, that
prevents autovacuum from running and causing a PANIC before the test
can complete.  Even with AV off, there's a good chance that clobber-
cache-always animals will fall over because they do so many more
physical accesses to the system catalogs.  I'd suggest inducing the
corruption in some user table(s) that we can more tightly constrain
the source server's accesses to.

            regards, tom lane


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Comment update in BuildTupleFromCStrings()
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: pgsql: Validate page level checksums in base backups