diff options
author | Fujii Masao <fujii@postgresql.org> | 2017-01-17 17:32:20 +0900 |
---|---|---|
committer | Fujii Masao <fujii@postgresql.org> | 2017-01-17 17:32:20 +0900 |
commit | f64b11fa063de85d6d394398d8e9bbe07d588f50 (patch) | |
tree | 8d3a5f90422d4f35863d9f9181273b7f9fdea7f7 /src/backend/regex/regfree.c | |
parent | 47d32a464a8a5e70c95fe52d6b3e3a3fb25fd845 (diff) |
Fix an assertion failure related to an exclusive backup.
Previously multiple sessions could execute pg_start_backup() and
pg_stop_backup() to start and stop an exclusive backup at the same time.
This could trigger the assertion failure of
"FailedAssertion("!(XLogCtl->Insert.exclusiveBackup)".
This happend because, even while pg_start_backup() was starting
an exclusive backup, other session could run pg_stop_backup()
concurrently and mark the backup as not-in-progress unconditionally.
This patch introduces ExclusiveBackupState indicating the state of
an exclusive backup. This state is used to ensure that there is only
one session running pg_start_backup() or pg_stop_backup() at
the same time, to avoid the assertion failure.
Back-patch to all supported versions.
Author: Michael Paquier
Reviewed-By: Kyotaro Horiguchi and me
Reported-By: Andreas Seltenreich
Discussion: <87mvktojme.fsf@credativ.de>
Diffstat (limited to 'src/backend/regex/regfree.c')
0 files changed, 0 insertions, 0 deletions