| From: | Andrey Borodin <x4mmm(at)yandex-team(dot)ru> |
|---|---|
| To: | Andrey Rachitskiy <pl0h0yp1(at)gmail(dot)com> |
| Cc: | "Jonathan Gonzalez V(dot)" <jonathan(dot)abdiel(at)gmail(dot)com>, Bryan Green <dbryan(dot)green(at)gmail(dot)com>, pgsql-hackers mailing list <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: [PATCH]Fix pg_xact corruption from subtransaction abort after subcommit |
| Date: | 2026-08-12 17:26:04 |
| Message-ID: | 3336B68C-8B17-4C25-BE3A-36A06D492724@yandex-team.ru |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
> On 12 Aug 2026, at 19:23, Andrey Rachitskiy <pl0h0yp1(at)gmail(dot)com> wrote:
>
> The TAP case adapts
> Andrey Borodin's demonstration to that callback.
The injection-point test was not intended as a committable test. I
wanted to make the resulting corruption directly observable. On its
own it was not entirely convincing, because it injected an ERROR
without showing that stock code could raise one there.
As I understand your OOM analysis, AtSubCommit_Notify() provides a real,
if probably rare, path to a catchable ERROR after
AtSubCommit_childXids(). A one-off allocation failure does not
necessarily imply that the subsequent abort and parent commit must also
fail.
Taken together, your analysis establishes that the window is reachable,
while the injection-point test demonstrates the corruption resulting
from an ERROR in that window. So yes, this appears to be a real
corruption scenario.
Thank you!
Best regards, Andrey Borodin.
| From | Date | Subject | |
|---|---|---|---|
| Previous Message | Nathan Bossart | 2026-08-12 17:17:22 | Re: problems with toast.* reloptions |