|From:||Michael Paquier <michael(dot)paquier(at)gmail(dot)com>|
|To:||Anastasia Lubennikova <lubennikovaav(at)gmail(dot)com>|
|Cc:||PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>, David Steele <david(at)pgmasters(dot)net>|
|Subject:||Re: Backend crash on non-exclusive backup cancel|
|Views:||Raw Message | Whole Thread | Download mbox|
On Wed, Mar 15, 2017 at 12:27 AM, Anastasia Lubennikova
> As far as I understand, in this thread were discussed two bugs of pg_stop_backup().
> Thanks to the clear descriptions above, I easily reproduced both of them.
> Server crashes on assertion on call of pg_stop_backup(false) after interrupted call of pg_stop_backup(false).
> TRAP: FailedAssertion("!(XLogCtl->Insert.nonExclusiveBackups > 0)", File: "xlog.c", Line: 10747)
> Failure to start an exclusive backup with the same name, if previous exclusive backup was stopped in another session.
> Both problems seem to be fixed with patch "backup-session-locks-fixes.patch".
> Speaking of the patch itself, I have a question: shouldn't we also update sessionBackupState
> in pg_stop_backup_callback() along with XLogCtl->Insert.exclusiveBackupState?
No, that's not necessary. sessionBackupState is not changed until the
code path where pg_stop_backup_callback() is active, and remains
unchanged until it gets deactivated.
> And couple of minor notes:
> 1) + * Routines to starting stop, and get status of a base backup
> Probably should be: + * Routines to start, stop and get status of a base backup
> And also this comment should be moved below the enum.
> 2) This is used in parallel of the shared memory status
> s/ in parallel of/ in parallel with
Agreed on both points.
|Next Message||Peter van Hardenberg||2017-03-15 06:29:35||Defaulting psql to ON_ERROR_ROLLBACK=interactive|
|Previous Message||Kuntal Ghosh||2017-03-15 05:57:10||Re: WAL Consistency checking for hash indexes|
|Next Message||Alastair James||2017-03-15 08:27:58||Differences in COUNT result when enabling parallel query|
|Previous Message||Andres Freund||2017-03-14 20:55:24||Re: postgresql hanging/stuck|