Re: 9.3: summary of corruption detection / checksums / CRCs discussion

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Greg Stark <stark(at)mit(dot)edu>
Cc: Jeff Davis <pgsql(at)j-davis(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: 9.3: summary of corruption detection / checksums / CRCs discussion
Date: 2012-04-24 20:40:28
Message-ID: CA+TgmoYEtQwaV5qNdOw0tt4vbfVQJHO-DauMRvO+3W-eAQLXgg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Apr 21, 2012 at 7:08 PM, Greg Stark <stark(at)mit(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2012-04-24 20:49:50 Re: remove dead ports?
Previous Message Robert Haas 2012-04-24 20:34:28 Re: 9.3: summary of corruption detection / checksums / CRCs discussion