Обсуждение: [HACKERS] Set of fixes for WAL consistency check facility
Hi all, Beginning a new thread to raise awareness... As already reported here, I had a look at what has been committed in a507b869: https://www.postgresql.org/message-id/CAB7nPqRzCQb=vdfHvMtP0HMLBHU6z1aGdo4GJsUP-HP8jx+Pkw@mail.gmail.com Here are a couple of things I have noticed while looking at the code: + * Portions Copyright (c) 2016, PostgreSQL Global Development Group s/2016/2017/ in bufmask.c and bufmask.h. + if (ItemIdIsNormal(iid)) + { + + HeapTupleHeader page_htup = (HeapTupleHeader) page_item; Unnecessary newline here. + * Read the contents from the backup copy, stored in WAL record and + * store it in a temporary page. There is not need to allocate a new + * page here, a local buffer is fine to hold its contents and a mask + * can be directly applied on it. s/not need/no need/. In checkXLogConsistency(), FPWs that have the flag BKPIMAGE_APPLY set will still be checked, resulting in a FPW being compared to itself. I think that those had better be bypassed. Please find attached a patch with those fixes. I am attaching as well this patch to next CF. Regards, -- Michael -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Вложения
On Mon, Feb 13, 2017 at 8:00 PM, Michael Paquier <michael.paquier@gmail.com> wrote: > Beginning a new thread to raise awareness... As already reported here, > I had a look at what has been committed in a507b869: > https://www.postgresql.org/message-id/CAB7nPqRzCQb=vdfHvMtP0HMLBHU6z1aGdo4GJsUP-HP8jx+Pkw@mail.gmail.com > > Here are a couple of things I have noticed while looking at the code: > > + * Portions Copyright (c) 2016, PostgreSQL Global Development Group > s/2016/2017/ in bufmask.c and bufmask.h. > > + if (ItemIdIsNormal(iid)) > + { > + > + HeapTupleHeader page_htup = (HeapTupleHeader) page_item; > Unnecessary newline here. > > + * Read the contents from the backup copy, stored in WAL record and > + * store it in a temporary page. There is not need to allocate a new > + * page here, a local buffer is fine to hold its contents and a mask > + * can be directly applied on it. > s/not need/no need/. > > In checkXLogConsistency(), FPWs that have the flag BKPIMAGE_APPLY set > will still be checked, resulting in a FPW being compared to itself. I > think that those had better be bypassed. > > Please find attached a patch with those fixes. I am attaching as well > this patch to next CF. I committed the patch posted to the other thread. Hopefully that closes this issue. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
On Wed, Feb 15, 2017 at 2:44 AM, Robert Haas <robertmhaas@gmail.com> wrote: > I committed the patch posted to the other thread. Hopefully that > closes this issue. Thanks. -- Michael