Re: BUG #15727: PANIC: cannot abort transaction 295144144, it was already committed
r.zharkov@postgrespro.ru
From: Жарков Роман <r.zharkov@postgrespro.ru>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>,
Alvaro Herrera <alvherre@2ndquadrant.com>, pgsql-bugs@lists.postgresql.org
Date: 2019-04-02T17:35:47Z
Lists: pgsql-bugs
> 3 апр. 2019 г., в 0:13, Tom Lane <tgl@sss.pgh.pa.us> написал(а): > > r.zharkov@postgrespro.ru writes: >> I made the new core file: > > Thanks, but this isn't much help --- it just shows what we already > know, ie the "cannot abort transaction" error occurs after some other > error was thrown. > > What would be more helpful would be to adjust the places that > can throw the "unexpected table_lock_tuple status" error text to be > PANIC rather than ERROR, so that the core dump would show a stack > trace showing how we got to whichever of those places this is. > Or, run the test with a higher log verbosity, so that you can find > out which of those places is throwing the error to begin with; > then just PANIC-ize that one. > > FWIW, I see six potential candidates, not two: > > pgsql/src/backend/commands/trigger.c: 3380: elog(ERROR, "unexpected table_lock_tuple status: %u", test); > pgsql/src/backend/executor/nodeLockRows.c: 232: elog(ERROR, "unexpected table_lock_tuple status: %u", > pgsql/src/backend/executor/nodeModifyTable.c: 881: elog(ERROR, "unexpected table_lock_tuple status: %u", > pgsql/src/backend/executor/nodeModifyTable.c: 1384: elog(ERROR, "unexpected table_lock_tuple status: %u", > pgsql/src/backend/executor/execReplication.c: 211: elog(ERROR, "unexpected table_lock_tuple status: %u", res); > pgsql/src/backend/executor/execReplication.c: 375: elog(ERROR, "unexpected table_lock_tuple status: %u", res); > > > regards, tom lane Ok. I will made it tomorrow morning. regards, Roman Zharkov
Commits
-
Fix GetNewTransactionId()'s interaction with xidVacLimit.
- f7feb020c3d8 12.0 landed
-
Fix example in comment.
- 16954e22e2a8 12.0 cited
-
Fix EvalPlanQualStart to handle partitioned result rels correctly.
- 1b5bbe4bcc91 10.8 landed
- b291488da513 11.3 landed
- a8cb8f124679 12.0 landed
-
Fix a number of issues around modifying a previously updated row.
- 41f5e04aec6c 12.0 landed
-
Use FullTransactionId for the transaction stack.
- ad308058cc86 12.0 cited
-
Add basic infrastructure for 64 bit transaction IDs.
- 2fc7af5e9660 12.0 cited
-
tableam: Add tuple_{insert, delete, update, lock} and use.
- 5db6df0c0117 12.0 cited
-
Throw error if expiring tuple is again updated or deleted.
- 6868ed7491b7 9.3.0 cited