Re: 9.3: summary of corruption detection / checksums / CRCs discussion - Mailing list pgsql-hackers

From Robert Haas
Subject Re: 9.3: summary of corruption detection / checksums / CRCs discussion
Date
Msg-id CA+TgmoYEtQwaV5qNdOw0tt4vbfVQJHO-DauMRvO+3W-eAQLXgg@mail.gmail.com
Whole thread Raw
In response to Re: 9.3: summary of corruption detection / checksums / CRCs discussion  (Greg Stark <stark@mit.edu>)
Responses Re: 9.3: summary of corruption detection / checksums / CRCs discussion  (Greg Stark <stark@mit.edu>)
Re: 9.3: summary of corruption detection / checksums / CRCs discussion  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-hackers
On Sat, Apr 21, 2012 at 7:08 PM, Greg Stark <stark@mit.edu> wrote:
> The earlier consensus was to move all the hint bits to a dedicated
> area and exclude them from the checksum. I think double-write buffers
> seem to have become more fashionable but a summary that doesn't
> describe the former is definitely incomplete.

I don't think we ever had any consensus that moving the hint bits
around was a good idea.  For one thing, they are only hints in one
direction.  It's OK to clear them by accident, but it's not OK to set
them by accident.  For two things, it's not exactly clear how we'd
rearrange the page to make this work at all: where are those hint bits
gonna go, if not in the tuple headers?  For three things, index pages
have hint-type changes that are not single-bit changes.

> That link points to the MVCC-safe truncate patch. I don't follow how
> optimizations in bulk loads are relevant to wal logging hint bit
> updates.

That patch actually has more than one optimization in it, I think, but
the basic idea is that if we could figure out a way to set
HEAP_XMIN_COMMITTED when loading data into a table created or
truncated within the same transaction, the need to set hint bits on
first scan of the table would be eliminated.  Writing the xmin as
FrozenTransactionId would save even more, though it introduces some
additional complexity.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: 9.3: summary of corruption detection / checksums / CRCs discussion
Next
From: Robert Haas
Date:
Subject: Re: remove dead ports?