Re: Crashes on a partition whose concurrent detach never finished

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: Mihail Nikalayeu <mihailnikalayeu(at)gmail(dot)com>
Cc: shveta malik <shveta(dot)malik(at)gmail(dot)com>, Zsolt Parragi <zsolt(dot)parragi(at)percona(dot)com>, Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, vignesh C <vignesh21(at)gmail(dot)com>, "ashutosh(dot)bapat(dot)oss(at)gmail(dot)com" <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>
Subject: Re: Crashes on a partition whose concurrent detach never finished
Date: 2026-11-09 19:10:05
Message-ID: CAD21AoBwQMFHTtD-Eykq=T6M18DEZnz7-6npTLfLFx8nE+8gCA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, Sep 27, 2026 at 7:27 AM Mihail Nikalayeu
<mihailnikalayeu(at)gmail(dot)com> wrote:
>
> Hello, everyone!
>
> Thanks to Amit for pushing, and to others for new findings and reviews.
>
> Attached is v2 of the remaining fixes, rebased on master and
> registered in the commitfest as [3] for tracking purposes.
>
> I tried to combine everything into the series. It is mostly
> AI-generated, but I still think structuring everything is helpful
> anyway.
>
> The rule throughout is that a partition pending detach is published as
> a standalone table, as it will be after FINALIZE; publishing it via
> the former root would cause the divergence Nisha described in [1].
>
> 0001 (pgoutput crash): The test comment Shveta asked about was
> misleading; it's fixed. pgindent-clean applied.
>
> 0002 (identity sequence) gains a new test: an insert into a leaf under
> a partition pending detach still finds the root's sequence.
>
> 0003 is Zsolt's fix for the inconsistency Shveta pointed out:
> pg_get_publication_tables() now lists a partition with no active
> ancestors, so REFRESH PUBLICATION can pick it up before FINALIZE.
>
> Tests moved to 100_bugs.pl to reuse infra from 0001 (AI-generated).
>
> The commit message now also says, as Nisha found in [2], that the full
> list has been affected since 14, while the targeted lookup only exists
> in 19.
>
> 0004 is Shveta's invalidation, which I (mostly AI) finished up a bit.
> It also invalidates the descendants of a partitioned partition, as
> Nisha suggested in [1], and locks them with AccessShareLock.

I ran into this issue today. I think it's not fixed on v19 yet and
should be added to the open item so as not to miss it.

Regards,

--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Matheus Alcantara 2026-11-09 20:03:11 Re: extension_control_path: ignore empty elements and deduplicate directories
Previous Message Masahiko Sawada 2026-11-09 19:02:57 Re: Add a hook for handling logical decoding messages on subscribers.