From: | Kuntal Ghosh <kuntalghosh(dot)2007(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Cc: | Amit Kapila <amit(dot)kapila(at)enterprisedb(dot)com>, michael(dot)paquier(at)gmail(dot)com, simon(at)2ndquadrant(dot)com |
Subject: | WAL consistency check facility |
Date: | 2016-08-22 12:44:38 |
Message-ID: | CAGz5QC+_CNcDJkkmDyPg2zJ_R8AtEg1KyYADbU6B673RaTySAg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
I've attached a patch to check if the current page is equal with the
FPW after applying WAL on it. This is how the patch works:
1. When a WAL record is inserted, a FPW is done for that operation.
But, a flag is kept to indicate whether that page needs to be
restored.
2. During recovery, when a redo operation is done, we do a comparison
with the FPW contained in the WAL record with the current page in the
buffer. For this purpose, I've used Michael's patch with minor changes
to check whether two pages are actually equal or not.
3. I've also added a guc variable (wal_consistency_mask) to indicate
the operations (HEAP,BTREE,HASH,GIN etc) for which this feature
(always FPW and consistency check) is to be enabled.
How to use the patch:
1. Apply the patch.
2. In postgresql.conf file, set wal_consistency_mask variable
accordingly. For debug messages, set log_min_messages = debug1.
Michael's patch:
https://www.postgresql.org/message-id/CAB7nPqR4vxdKijP%2BDu82vOcOnGMvutq-gfqiU2dsH4bsM77hYg%40mail.gmail.com
Please let me know your thoughts on this.
--
Thanks & Regards,
Kuntal Ghosh
EnterpriseDB: http://www.enterprisedb.com
Attachment | Content-Type | Size |
---|---|---|
walconsistency_v3.patch | text/x-patch | 27.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2016-08-22 12:46:32 | Re: UTF-8 docs? |
Previous Message | Thomas Munro | 2016-08-22 12:36:50 | Re: dsm_unpin_segment |