mirror of
https://github.com/postgres/postgres.git
synced 2026-04-15 22:10:45 -04:00
Fix snapshot handling bug in recent BRIN fix
Commit a95e3d84c0 added ActiveSnapshot push+pop when processing
work-items (BRIN autosummarization), but forgot to handle the case of
a transaction failing during the run, which drops the snapshot untimely.
Fix by making the pop conditional on an element being actually there.
Author: Álvaro Herrera <alvherre@kurilemu.de>
Backpatch-through: 13
Discussion: https://postgr.es/m/202511041648.nofajnuddmwk@alvherre.pgsql
This commit is contained in:
parent
640c59067e
commit
8733f0b54c
1 changed files with 2 additions and 1 deletions
|
|
@ -2544,7 +2544,8 @@ deleted:
|
|||
|
||||
PushActiveSnapshot(GetTransactionSnapshot());
|
||||
perform_work_item(workitem);
|
||||
PopActiveSnapshot();
|
||||
if (ActiveSnapshotSet()) /* transaction could have aborted */
|
||||
PopActiveSnapshot();
|
||||
|
||||
/*
|
||||
* Check for config changes before acquiring lock for further jobs.
|
||||
|
|
|
|||
Loading…
Reference in a new issue