Re: [HACKERS] Assertion failure when the non-exclusive pg_stop_backup aborted. - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: [HACKERS] Assertion failure when the non-exclusive pg_stop_backup aborted.
Date
Msg-id CAB7nPqSVN7eSns0yVgdRWYbdkjNiewNtA2pHrPeysbXu+viM-w@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] Assertion failure when the non-exclusive pg_stop_backup aborted.  (Masahiko Sawada <sawada.mshk@gmail.com>)
Responses Re: [HACKERS] Assertion failure when the non-exclusive pg_stop_backup aborted.  (Robert Haas <robertmhaas@gmail.com>)
List 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


pgsql-hackers by date:

Previous
From: Amit Langote
Date:
Subject: ScalarArrayOpExpr and multi-dimensional arrays
Next
From: "Tels"
Date:
Subject: Re: [HACKERS] Parallel tuplesort (for parallel B-Tree indexcreation)