Re: FailedAssertion in heap_index_delete_tuples at heapam.c:7220

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: FailedAssertion in heap_index_delete_tuples at heapam.c:7220
Date: 2021-01-27 07:09:14
Message-ID: CAH2-Wz=rCyFs3vQO57zD8AOeyH6yo0fgtmiCdo0RDNeJQbVs6Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jan 26, 2021 at 10:52 PM Jaime Casanova
<jcasanov(at)systemguards(dot)com(dot)ec> wrote:
> ${subject} happened while executing ${attached query} at regresssion
> database, using 14dev (commit
> d5a83d79c9f9b660a6a5a77afafe146d3c8c6f46) and produced ${attached
> stack trace}.

I see the bug: gistprunepage() calls
index_compute_xid_horizon_for_tuples() (which ultimately calls the
heapam.c callback for heap_index_delete_tuples()) with an empty array,
which we don't expect. The similar code within _hash_vacuum_one_page()
already only calls index_compute_xid_horizon_for_tuples() when
ndeletable > 0.

The fix is obvious: Bring gistprunepage() in line with
_hash_vacuum_one_page(). I'll go push a fix for that now.

Thanks for the report!
--
Peter Geoghegan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Hou, Zhijie 2021-01-27 07:15:41 RE: fix typo in reorderbuffer.c
Previous Message Tatsuro Yamada 2021-01-27 07:07:01 Re: simplifying foreign key/RI checks