pgsql: Fix failure of archive recovery with recovery_min_apply_delay en
От | Fujii Masao |
---|---|
Тема | pgsql: Fix failure of archive recovery with recovery_min_apply_delay en |
Дата | |
Msg-id | E1iLST7-0008OM-8C@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Fix failure of archive recovery with recovery_min_apply_delay enabled. recovery_min_apply_delay parameter is intended for use with streaming replication deployments. However, the document clearly explains that the parameter will be honored in all cases if it's specified. So it should take effect even if in archive recovery. But, previously, archive recovery with recovery_min_apply_delay enabled always failed, and caused assertion failure if --enable-caasert is enabled. The cause of this problem is that; the ownership of recoveryWakeupLatch that recovery_min_apply_delay uses was taken only when standby mode is requested. So unowned latch could be used in archive recovery, and which caused the failure. This commit changes recovery code so that the ownership of recoveryWakeupLatch is taken even in archive recovery. Which prevents archive recovery with recovery_min_apply_delay from failing. Back-patch to v9.4 where recovery_min_apply_delay was added. Author: Fujii Masao Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/CAHGQGwEyD6HdZLfdWc+95g=VQFPR4zQL4n+yHxQgGEGjaSVheQ@mail.gmail.com Branch ------ REL9_4_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/14c59185b24dfcf17fa268810799cd5101d6254e Modified Files -------------- src/backend/access/transam/xlog.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-)
В списке pgsql-committers по дате отправления: