| From: | RekGRpth <rekgrpth(at)gmail(dot)com> |
|---|---|
| To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
| Cc: | Lionel Hamayon <lionel(dot)hamayon(at)evolution-digitale(dot)fr>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Jasper Smit <jbsmit(at)gmail(dot)com>, Luc Vlaming Hummel <luc(dot)vlaming(at)servicenow(dot)com>, Andrey Rachitskiy <pl0h0yp1(at)gmail(dot)com> |
| Subject: | Re: Assertion with aborted UPDATE in subtransaction |
| Date: | 2026-11-04 05:28:20 |
| Message-ID: | CAPgh2mLE7y_M5Z7n6OxJOY0xg9HQnnD3dVAt33PwxxcFiW-hOQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi Heikki,
I verified your patch against the scenario from my duplicate report [1],
on a 19rc1 --enable-cassert build:
- the minimal SQL repro from my report (SELECT ... FOR NO KEY UPDATE,
subtransaction UPDATE, ROLLBACK TO + RELEASE SAVEPOINT, then a
TOAST-sized UPDATE in the top transaction) now passes; on the
unpatched build it trips Assert("HEAP_XMAX_IS_LOCKED_ONLY(
infomask_lock_old_tuple)");
- the real-world case where I originally hit this also passes: the
pg_task extension retries its bookkeeping UPDATE in the top
transaction after RollbackAndReleaseCurrentSubTransaction(), and
that update goes through exactly this heap_update() temp-lock
codepath (the task table update shows up in the log with the
expected lock-only infomask, no TRAP);
- with temporary elog() instrumentation at the assert site I confirmed
the multixid now comes back pruned: the aborted updating member is
removed, a fresh multixid is created, and the infomask has
HEAP_XMAX_LOCK_ONLY set — where the unpatched code returned the
original multixid unchanged (infomask without LOCK_ONLY).
The combocid regression test from the patch passes too. So the patch
fixes my case as well — thanks for picking this up!
--
Georgy Shelkovy
| From | Date | Subject | |
|---|---|---|---|
| Next Message | shihao zhong | 2026-11-04 05:48:38 | Represent set operation outputs with RTE_SETOP range table entries |
| Previous Message | Sho Ito | 2026-11-04 05:14:23 | Re: [PATCH v1] psql: Do not complete HEADER MATCH for COPY TO |