Re: pg_verify_checksums failure with hash indexes

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_verify_checksums failure with hash indexes
Date: 2018-08-29 09:09:10
Message-ID: CAA4eK1J_49Q2vU7A5fRuqZTNcSozE57fS3dfdxDprcafsR=RqA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Aug 28, 2018 at 2:51 PM Peter Eisentraut
<peter(dot)eisentraut(at)2ndquadrant(dot)com> wrote:
>
> This is reproducible with PG11 and PG12:
>
> initdb -k data
> postgres -D data
>
> make installcheck
> # shut down postgres with Ctrl-C
>
..
>
> The files in question correspond to
>
> hash_i4_index
> hash_name_index
> hash_txt_index
>

I have looked into this problem and found the cause of it. This
problem is happening for the empty page in the hash index. On a
split, we allocate a new splitpoint's worth of bucket pages wherein we
initialize the last page with zero's, this is all fine, but we forgot
to set the checksum for that last page. Attached patch fixes the
problem for me.

Can someone try and share their findings?

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

Attachment Content-Type Size
setchecksum_empty_pages_v1.patch application/octet-stream 468 bytes

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Yugo Nagata 2018-08-29 09:25:26 Re: pg_verify_checksums failure with hash indexes
Previous Message Alexander Korotkov 2018-08-29 09:01:58 Re: Reopen logfile on SIGHUP