Re: Recovering from detoast-related catcache invalidations

From: Arseniy Mukhin <arseniy(dot)mukhin(dot)dev(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Noah Misch <noah(at)leadboat(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Xiaoran Wang <fanfuxiaoran(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Recovering from detoast-related catcache invalidations
Date: 2025-09-29 16:34:47
Message-ID: CAE7r3M+r68FJNp5bD09swrPejJSb0-PnqBaTVPLWixEG7XDomw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On Fri, Sep 19, 2025 at 11:11 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
>
> On 2025-03-26 07:21:43 -0400, Andres Freund wrote:
> > On 2025-01-14 15:13:21 +0200, Heikki Linnakangas wrote:
> > > Committed with those fixes. Thanks for the review!
> >
> > The test doesn't seem entirely stable. E.g.
> > https://cirrus-ci.com/task/6166374147424256
> > failed spuriously:
> >
> > [08:52:06.822](0.002s) # issuing query 1 via background psql:
> > # SELECT injection_points_set_local();
> > # SELECT injection_points_attach('catcache-list-miss-systable-scan-started', 'wait');
> > [08:52:06.851](0.029s) # results query 1:
> > # {
> > # 'stderr' => 'background_psql: QUERY_SEPARATOR 1:
> > # ',
> > # 'stdout' => '
> > #
> > # background_psql: QUERY_SEPARATOR 1:
> > # '
> > # }
> > [08:52:06.893](0.042s) # issuing query 1 via background psql:
> > # SELECT injection_points_wakeup('catcache-list-miss-systable-scan-started');
> > # SELECT injection_points_detach('catcache-list-miss-systable-scan-started');
> > [08:52:06.897](0.004s) # pump_until: process terminated unexpectedly when searching for "(?^:(^|\n)background_psql: QUERY_SEPARATOR 1:\r?\n)" with stream: ""
> > process ended prematurely at /tmp/cirrus-ci-build/src/test/perl/PostgreSQL/Test/Utils.pm line 440.
> >
> >
> > 2025-03-25 08:52:06.896 UTC [34240][client backend] [007_catcache_inval.pl][4/2:0] ERROR: could not find injection point catcache-list-miss-systable-scan-started to wake up
> > 2025-03-25 08:52:06.896 UTC [34240][client backend] [007_catcache_inval.pl][4/2:0] STATEMENT: SELECT injection_points_wakeup('catcache-list-miss-systable-scan-started');
>
> And again: https://cirrus-ci.com/task/6082321633247232
>
> Ping?
>

The wait_for_event call, which is typically used with a wait injection
point, is missing. Could this be the cause of instability? If this
makes sense, please find the attached fix.

Best regards,
Arseniy Mukhin

Attachment Content-Type Size
0001-Add-missed-wait_for_event-in-007_catcache_inval.pl-T.patch.nocfbot application/octet-stream 933 bytes

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Álvaro Herrera 2025-09-29 16:45:52 Re: allow benign typedef redefinitions (C11)
Previous Message Amul Sul 2025-09-29 16:17:10 Re: pg_waldump: support decoding of WAL inside tarfile