Re: Can can I make an injection point wait occur no more than once?

From: Peter Geoghegan <pg(at)bowt(dot)ie>
To: Noah Misch <noah(at)leadboat(dot)com>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Can can I make an injection point wait occur no more than once?
Date: 2025-07-09 03:43:17
Message-ID: CAH2-Wz=Z5Wa-ciaci5LYEhyyDf4CMiB4s2ZMcpMXjE7imo4_gg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jul 8, 2025 at 11:04 PM Noah Misch <noah(at)leadboat(dot)com> wrote:
> > -backwards_scan_session: NOTICE: notice triggered for injection point lock-and-validate-new-lastcurrblkno
> > +ERROR: could not find injection point lock-and-validate-left to wake up
>
> Agreed. Perhaps it's getting a different plan type on FreeBSD, so it's not
> even reaching the INJECTION_POINT() calls? That would be consistent with
> these output diffs having no ERROR from attach/detach. Some things I'd try:
>
> - Add a plain elog(WARNING) before each INJECTION_POINT()
> - Use debug_print_plan or similar to confirm the plan type

I added a pair of elog(WARNING) traces before each of the new
INJECTION_POINT() calls.

When I run the test against the FreeBSD CI target with this new
instrumentation, I see a WARNING that indicates that we've reached the
top of _bt_lock_and_validate_left as expected. I don't see any second
WARNING indicating that we've taken _bt_lock_and_validate_left's
unhappy path, though (and the test still fails). This doesn't look
like an issue with the planner.

I attach the relevant regression test output, that shows all this.

Thanks
--
Peter Geoghegan

Attachment Content-Type Size
warning-regression.txt text/plain 1.7 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Hari Krishna Sunder 2025-07-09 04:06:48 Should TRUNCATE fire DDL triggers
Previous Message Dilip Kumar 2025-07-09 03:37:03 Re: A recent message added to pg_upgade