| From: | Gregory Stark <stark(at)enterprisedb(dot)com> | 
|---|---|
| To: | Aidan Van Dyk <aidan(at)highrise(dot)ca> | 
| Cc: | Greg Stark <greg(dot)stark(at)enterprisedb(dot)com>, "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Brian Hurt <bhurt(at)janestcapital(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: Block-level CRC checks | 
| Date: | 2008-10-02 17:58:02 | 
| Message-ID: | 87tzbug9qt.fsf@oxford.xeocode.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Aidan Van Dyk <aidan(at)highrise(dot)ca> writes:
>> Wal logged changes are safe because of full_page_writes. Hint bits are  
>> safe because either the old or the new value will be on disk and we  
>> don't care which. It doesn't matter if some hint bits are set and some  
>> aren't.
>> 
>> However the checksum won't match because the checksum will have been  
>> calculated on the whole block and part of it was never written.
>
> Correct.  But now doesn't full-page-writes give us the same protection
> here against a half-write as it did for the previous case?
>
> On recovery after a torn-page write, won't the recovery of the
> full_page_write WAL + WAL changes get us back to the page as it was
> before the buffer+checksum+write?  
Hint bit setting doesn't trigger a WAL record.
-- 
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com
  Ask me about EnterpriseDB's PostGIS support!
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jonah H. Harris | 2008-10-02 18:01:22 | Re: Block-level CRC checks | 
| Previous Message | Aidan Van Dyk | 2008-10-02 17:49:21 | Re: Block-level CRC checks |