Re: Enabling Checksums
Heikki Linnakangas <hlinnakangas@vmware.com>
From: Heikki Linnakangas <hlinnakangas@vmware.com>
To: Jim Nasby <jim@nasby.net>
Cc: Jeff Davis <pgsql@j-davis.com>, Simon Riggs <simon@2ndQuadrant.com>, Greg Smith <greg@2ndquadrant.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2013-03-04T21:40:26Z
Lists: pgsql-hackers
On 04.03.2013 22:51, Jim Nasby wrote: > Additionally, no filesystem I'm aware of checksums the data in the > filesystem cache. A PG checksum would. The patch says: > + * IMPORTANT NOTE - > + * The checksum is not valid at all times on a data page. We set it before we > + * flush page/buffer, and implicitly invalidate the checksum when we modify the > + * page. A heavily accessed buffer might then spend most of its life with an > + * invalid page checksum, so testing random pages in the buffer pool will tell > + * you nothing. The reason for this is that the checksum detects otherwise > + * silent errors caused by the filesystems on which we rely. We do not protect > + * buffers against uncorrectable memory errors, since these have a very low > + * measured incidence according to research on large server farms, > + * http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf, discussed 2010/12/22. It's still true that it does in fact cover pages in the filesystem cache, but apparently that's not important. - Heikki