Re: Can can I make an injection point wait occur no more than once? - Mailing list pgsql-hackers

From Peter Geoghegan
Subject Re: Can can I make an injection point wait occur no more than once?
Date
Msg-id CAH2-Wz=Z5Wa-ciaci5LYEhyyDf4CMiB4s2ZMcpMXjE7imo4_gg@mail.gmail.com
Whole thread Raw
In response to Re: Can can I make an injection point wait occur no more than once?  (Noah Misch <noah@leadboat.com>)
List pgsql-hackers
On Tue, Jul 8, 2025 at 11:04 PM Noah Misch <noah@leadboat.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

pgsql-hackers by date:

Previous
From: Dilip Kumar
Date:
Subject: Re: A recent message added to pg_upgade
Next
From: Hari Krishna Sunder
Date:
Subject: Should TRUNCATE fire DDL triggers