Re: [HACKERS] Assertion failure when the non-exclusive pg_stop_backup aborted.
Masahiko Sawada <sawada.mshk@gmail.com>
From: Masahiko Sawada <sawada.mshk@gmail.com>
To: Michael Paquier <michael.paquier@gmail.com>
Cc: Fujii Masao <masao.fujii@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2017-11-16T11:17:47Z
Lists: pgsql-hackers
Attachments
- fix_do_pg_abort_backup_v6.patch (application/octet-stream) patch v6
On Thu, Nov 16, 2017 at 1:11 PM, Michael Paquier <michael.paquier@gmail.com> wrote: > On Thu, Nov 16, 2017 at 10:57 AM, Masahiko Sawada <sawada.mshk@gmail.com> wrote: >> Agreed. Attached the updated patch, please review it. Thank you for the comment. > + /* > + * Quick exit if session is not keeping around a non-exclusive backup > + * already started. > + */ > + if (sessionBackupState != SESSION_BACKUP_NON_EXCLUSIVE) > + return; > I think that it would be more solid to use SESSION_BACKUP_NONE for the > comparison, and complete the assertion after the quick exit as follows > as this code path should never be taken for an exclusive backup: Agreed. > + Assert(XLogCtl->Insert.nonExclusiveBackups > 0 && > + sessionBackupState == SESSION_BACKUP_NON_EXCLUSIVE); > > And your patch would discard both SESSION_BACKUP_EXCLUSIVE and > SESSION_BACKUP_NONE. Attached the latest patch. Please review it. Regards, -- Masahiko Sawada NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center
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