Re: PG19 FK fast path: OOB write and missed FK checks during batched

From: Amit Langote <amitlangote09(at)gmail(dot)com>
To: Junwang Zhao <zhjwpku(at)gmail(dot)com>
Cc: Ayush Tiwari <ayushtiwari(dot)slg01(at)gmail(dot)com>, Nikolay Samokhvalov <nik(at)postgres(dot)ai>, pgsql-hackers mailing list <pgsql-hackers(at)postgresql(dot)org>, Andrey Borodin <amborodin(at)acm(dot)org>, Kirk Wolak <wolakk(at)gmail(dot)com>
Subject: Re: PG19 FK fast path: OOB write and missed FK checks during batched
Date: 2026-06-11 10:47:39
Message-ID: CA+HiwqHHLyjtk_4LoNkoFYfHQJy9LjDhydKDHn=UHCxu=Qo6Qg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jun 11, 2026 at 6:51 PM Junwang Zhao <zhjwpku(at)gmail(dot)com> wrote:
> On Thu, Jun 11, 2026 at 5:05 PM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> >
> > On Thu, Jun 11, 2026 at 5:18 PM Junwang Zhao <zhjwpku(at)gmail(dot)com> wrote:
> > > I only reviewed and applied patch 0001 on my local machine, and it
> > > successfully fixed the crash.
> > >
> > > One minor comment:
> > >
> > > + if (fpentry->flushing)
> > > + {
> > > + ri_FastPathCheck(riinfo, fk_rel, newslot);
> > > + return;
> > > + }
> > >
> > > Would it be worth wrapping the condition with unlikely()? It seems
> > > this branch is expected to be false in most cases, not a strong
> > > opinion though.
> >
> > Good idea. Will do.
> >
> > Are you planning to look at 0002?
>
> I just applied 0002 and ran the regression successfully.
>
> I have one trivial comment, subXact abort doesn't NULL the
> ri_fastpath_cache, so I think the following comment of
> RI_FastPathEntry should be polished accordingly by removing the
> `SubXactCallback`.
>
> * ri_FastPathEndBatch(); on abort, ResourceOwner releases the cached
> * relations and the XactCallback/SubXactCallback NULL the static cache pointer
> * to prevent any subsequent access.

Thanks for the review. Yes, I missed that.

I've updated the patches to address your comments and did some other polishing.

--
Thanks, Amit Langote

Attachment Content-Type Size
v3-0002-Confine-RI-fast-path-batching-to-the-top-transact.patch application/x-patch 11.9 KB
v3-0001-Fix-out-of-bounds-write-in-RI-fast-path-batch-on-.patch application/x-patch 10.9 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Etsuro Fujita 2026-06-11 10:59:56 Re: postgres_fdw: possible overlooked NAMEDATALEN comparison in stats import
Previous Message shveta malik 2026-06-11 10:37:44 Re: [PATCH] Preserve replication origin OIDs in pg_upgrade