Re: relfrozenxid may disagree with row XIDs after 1ccc1e05ae

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Bowen Shi <zxwsbg12138(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Melanie Plageman <melanieplageman(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, Noah Misch <noah(at)leadboat(dot)com>, Alexander Lakhin <exclusion(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: relfrozenxid may disagree with row XIDs after 1ccc1e05ae
Date: 2024-05-17 04:28:57
Message-ID: CAH2-Wzk8BgAwKGOttaimEwSHXVC7+L1Wg6uEYb9Nuv6RJbemZQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, May 16, 2024 at 11:36 PM Bowen Shi <zxwsbg12138(at)gmail(dot)com> wrote:
> From the current situation, I feel that the scenario I encountered is different from yours because it doesn't seem to be the first page of the vacuum scanning.

Really? I think it looks like the same issue.

What I saw was that the heap page that lazy_scan_prune locked up on
was the first page scanned *after* the first round of index vacuuming
-- *not* the first heap page scanned overall.

I also saw "num_index_scans == 1", "tuples_deleted == lpdead_items",
and "scanned_pages == lpdead_item_pages" when I looked at the locked
up Postgres 15 production instance (or close to it). I can't tell if
your dead_items is shown as empty, too, but if it is then that
indicates that the heap page that your lazy_scan_prune trace relates
to is the first page scanned after a round of index vacuuming (the
first round).

If you can show more about dead_items, then it will either confirm or
disprove my theory about it being the same issue.

--
Peter Geoghegan

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Retno Utami 2024-05-17 09:17:55 Issues in finding libeay.dll and ssleay.dll for win x64
Previous Message Bowen Shi 2024-05-17 03:35:53 Re: relfrozenxid may disagree with row XIDs after 1ccc1e05ae