On Wed, Sep 20, 2017 at 5:23 AM, Ashwin Agrawal <aagra...@pivotal.io> wrote: > Currently, page checksum is not masked by Page masking routines used by > wal_consistency_checking facility. So, when running `make installcheck` with > data checksum enabled and wal_consistency_checking='all', it easily and > consistently FATALs with "inconsistent page found".
Indeed. This had better be fixed before PG10 is out. I am adding an open item. > If anything needs to be masked on Page to perform / pass wal consistency > checking, definitely checksum is not going to match and hence must be masked > as well. Attaching patch to fix the same, installcheck passes with checksums > enabled and wal_consistency_checking='all' with the fix. > > Clubbed to perform the masking with lsn as it sounds logical to have them > together, as lsn is masked is all the cases so far and such is needed for > checksum as well. Agreed. * In consistency checks, the LSN of the two pages compared will likely be - * different because of concurrent operations when the WAL is generated - * and the state of the page when WAL is applied. + * different because of concurrent operations when the WAL is generated and + * the state of the page when WAL is applied. Also, mask out checksum as + * masking anything else on page means checksum is not going to match as well. */ Nit: Using "the LSN and the checksum" instead of the "the LSN". -- Michael -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers