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 |
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 |