| From: | Mihail Nikalayeu <mihailnikalayeu(at)gmail(dot)com> |
|---|---|
| To: | Konstantin Knizhnik <knizhnik(at)garret(dot)ru> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Bug in amcheck? |
| Date: | 2025-11-02 12:27:00 |
| Message-ID: | CADzfLwU+8dMq4EQ3kRuDCv2giS+_AUX5Q4LYO6x5PKghdAfK6A@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hello!
> I wonder if we should add P_ISHALFDEAD(opaque) for child page?
I am not a btree expert, but things I was able to find so far:
In commit d114cc538715e14d29d6de8b6ea1a1d5d3e0edb4 next check is added:
> bt_child_highkey_check(state, downlinkoffnum,
> child, topaque->btpo_level);
At the same time there is a comment below:
> * We go ahead with our checks if the child page is half-dead. It's safe
> * to do so because we do not test the child's high key, so it does not
> * matter that the original high key will have been replaced by a dummy
> * truncated high key within _bt_mark_page_halfdead(). All other page
> * items are left intact on a half-dead page, so there is still something
> * to test.
So, yes, it looks like we need to skip the child's high key test for
half-dead pages.
BWT, have you tried to create an injection_point-based reproducer?
Best regards,
Mikhail.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Mihail Nikalayeu | 2025-11-02 12:33:40 | Re: test_json_parser/002_inline is kind of slow |
| Previous Message | David Rowley | 2025-11-02 10:03:42 | Re: Should HashSetOp go away |