Re: page is uninitialized --- fixing

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: page is uninitialized --- fixing
Date: 2009-06-09 21:28:23
Message-ID: 29077.1244582903@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Simon Riggs <simon(at)2ndQuadrant(dot)com> writes:
> A corrupt record of a block number would do this in XLogReadBuffer() if
> we had full page writes enabled. But it would have to be corrupt between
> setting it correctly and the CRC check on the WAL record. Which is a
> fairly small window of believability.

> Should there be a sanity check on how far a relation can be extended in
> recovery?

As you say, that's not a highly believable theory. I'd prefer not to
put an arbitrary limit into the recovery code unless we can positively
pin this down as the source of the problem.

Is there any particular reason to suppose that the empty pages appeared
during a crash recovery?

Have you read through md.c? I seem to recall there are some slightly
squirrelly choices made there about segment-extension behavior. Maybe
it could've done the wrong thing here during normal operation.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Merlin Moncure 2009-06-09 21:38:55 Re: Problem with listen_addresses = '*' on 8.4beta2 on AIX
Previous Message Tom Lane 2009-06-09 21:24:19 Re: Problem with listen_addresses = '*' on 8.4beta2 on AIX