Re: Eliminating PD_ALL_VISIBLE, take 2 - Mailing list pgsql-hackers

From Jeff Davis
Subject Re: Eliminating PD_ALL_VISIBLE, take 2
Date
Msg-id 1369933662.23418.17.camel@jdavis
Whole thread Raw
In response to Re: Eliminating PD_ALL_VISIBLE, take 2  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Responses Re: Eliminating PD_ALL_VISIBLE, take 2  (Jeff Davis <pgsql@j-davis.com>)
List pgsql-hackers
On Thu, 2013-05-30 at 11:32 +0300, Heikki Linnakangas wrote:
> > That could cause a torn page and checksum failure if checksums are
> > enabled.

Thank you, I missed that in the rebase; it should be
MarkBufferDirtyHint().

> Come to think of it, even without the torn page & checksum issue, do we 
> really want to actively clear the all-visible flags after upgrade? For 
> tables that haven't been changed, and thus have the all-visible bits 
> set, that amounts to a complete rewrite on the first vacuum after 
> upgrade. That's expensive.

I expected that question and intended to raise it for discussion when
and if we get past performance concerns (I believe Robert is still not
convinced that the patch is viable).

We have a few options: We can ignore the bit entirely, or we can
aggressively unset it, or we can opportunistically unset it if the page
is already dirty. I don't think we're in a hurry to reuse that bit for
something else, so maybe it's best to just ignore it entirely.

Regards,Jeff Davis





pgsql-hackers by date:

Previous
From: Dean Rasheed
Date:
Subject: 9.3: Empty arrays returned by array_remove()
Next
From: Josh Berkus
Date:
Subject: Re: Freezing without write I/O