Re: GIN needs tonic - Mailing list pgsql-bugs

From Tom Lane
Subject Re: GIN needs tonic
Date
Msg-id 20688.1253043295@sss.pgh.pa.us
Whole thread Raw
In response to Re: GIN needs tonic  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: GIN needs tonic
Re: GIN needs tonic
List pgsql-bugs
Simon Riggs <simon@2ndQuadrant.com> writes:
> On Tue, 2009-09-15 at 14:31 -0400, Tom Lane wrote:
>> I've pointed out before that the regression tests are not particularly
>> meant to provide an exhaustive test of WAL recovery.  In this particular
>> case, so far as I can tell the bug is only observable with
>> full_page_writes turned off --- otherwise XLogInsert will invariably
>> decide to log the full page, because it's going to see a zeroed-out
>> LSN in the passed-in buffer.

> Yes, I was testing with full_page_writes = off at that point.

In further testing, I've found that the CVS HEAD regression tests
actually will expose the error if you run them with full_page_writes off
and then force a WAL replay.  (8.4 would not have, though, because of the
DROP TABLESPACE at the end of the run.)  In any case, I stand by the
opinion that the standard regression tests aren't really meant to
exercise WAL recovery.

BTW, there's more than one bug here :-(.  Heikki found one, but the
code is also attaching the buffer indicator to the wrong rdata entry
--- the record header, not the workspace, is what gets suppressed
if the full page is logged.

            regards, tom lane

pgsql-bugs by date:

Previous
From: "Joseph Shraibman"
Date:
Subject: BUG #5058: [jdbc] Silent failure with executeUpdate()
Next
From: Simon Riggs
Date:
Subject: Re: GIN needs tonic