Re: potential stuck lock in SaveSlotToPath()
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Andres Freund <andres@anarazel.de>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-03-18T19:54:19Z
Lists: pgsql-hackers
On 2020-Mar-18, Andres Freund wrote: > Hi, > > On 2020-03-18 16:46:23 +0100, Peter Eisentraut wrote: > > When SaveSlotToPath() is called with elevel=LOG, the early exits don't > > release the slot's io_in_progress_lock. Fix attached. > > I'm a bit confused as to why we we ever call it with elevel = LOG > (i.e. why we have the elevel parameter at all). That seems to have been > there from the start, so it's either me or Robert that's to blame. But I > can't immediately see a reason for it? I guess you didn't want failure to save a slot be a reason to abort a checkpoint. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Drop slot's LWLock before returning from SaveSlotToPath()
- ce28a43ffa89 9.5.22 landed
- 2d8597ba66a1 9.6.18 landed
- f36a10434a31 10.13 landed
- ba4cc05ce22d 11.8 landed
- 223e9c77dcaf 12.3 landed
- 49bf81536e24 13.0 landed