Re: [PATCH] Fall back to serializing when parallel apply runs out of DSM segments

From: Baji Shaik <baji(dot)pgdev(at)gmail(dot)com>
To: Zhijie Hou <houzhijie22(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: [PATCH] Fall back to serializing when parallel apply runs out of DSM segments
Date: 2026-10-25 15:23:54
Message-ID: CA+fm-RNBhpKnPArvZj-Ev8A8wD-vi3dkM1g-YM0KSysKin8Veg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello Zhijie,

On Sat, Oct 24, 2026 at 10:06 PM Zhijie Hou <houzhijie22(at)gmail(dot)com> wrote:

> But I'm not sure we need to change the comments above those early returns,
> since
> it's not this internal function's place to know whether the outer side
> should
> apply the transaction or not.
>

Thank you for the review and suggestion.
Agreed. v2 attached keeps the original comment.

> BTW, I noticed the other caller of pa_setup_dsm() in dsa.c has a similar
> issue:
> it doesn't pass this flag but does have a check for a NULL value, so that
> path
> is also unreachable, but that could be fixed in a separate patch.
>

Right, make_new_segment() has the same issue. There it means
DSA_ALLOC_NO_OOM still errors out when we run out of segments, so
callers like pgstat never get to do their cleanup. Attached as 0002.

I think both should be backpatched. 0001 to 16, where parallel apply
was added, and 0002 to 14, since that code is the same on all supported
branches. Thoughts?

Thanks,
Baji Shaik

Attachment Content-Type Size
v2-0002-Make-DSA-honor-DSA_ALLOC_NO_OOM-when-out-of-DSM-s.patch application/octet-stream 1.4 KB
v2-0001-Fall-back-to-serializing-when-parallel-apply-runs.patch application/octet-stream 1.6 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message shihao zhong 2026-10-25 15:36:54 Re: Avoid truncated or zero-padded copies of replaced files in backups.
Previous Message shihao zhong 2026-10-25 15:19:02 Re: Do not fail WAL buffers read after on-disk xlog removal