Re: [HACKERS] Assertion failure when the non-exclusive pg_stop_backup aborted.
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: Masahiko Sawada <sawada.mshk@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Fujii Masao <masao.fujii@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2017-12-08T09:13:02Z
Lists: pgsql-hackers
On Fri, Dec 8, 2017 at 5:38 PM, Masahiko Sawada <sawada.mshk@gmail.com> wrote: > After off-discussion with Fujii-san, I've updated the comment of why > we should disallow interrupts before setting/cleanup the session-level > lock. Please review it. + /* + * Set session-level lock. If we allow interrupts before setting + * session-level lock, we could call callbacks with an inconsistent + * state. To avoid calling CHECK_FOR_INTERRUPTS by LWLockReleaseClearVar + * which is called by WALInsertLockRelease before changing the backup + * state we change it while holding the WAL insert lock. + */ So you are just adding the reference to WALInsertLockRelease.. Instead of writing the function names for LWLocks, I would just write "To avoid calling CHECK_FOR_INTERRUPTS which can happen when releasing a LWLock" and be done with it. There is no point to list a full function dependency list, which could change in the future with static routines of lwlock.c. -- Michael
Commits
-
Fix bug in cancellation of non-exclusive backup to avoid assertion failure.
- 0668c84e2857 9.6.7 landed
- 133d2fab2f83 10.2 landed
- 56a95ee5118b 11.0 landed