pg_promote() can cause busy loop

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: pg_promote() can cause busy loop
Date: 2019-09-05 00:46:26
Message-ID: CAHGQGwEs9ROgSp+QF+YdDU+xP8W=CY1k-_Ov-d_Z3JY+to3eXA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I found small issue in pg_promote(). If postmaster dies
while pg_promote() is waiting for the standby promotion to finish,
pg_promote() can cause busy loop. This happens because
pg_promote() does nothing when WaitLatch() detects
the postmaster death event. I think that pg_promote()
should bail out of the loop immediately in that case.

Attached is the patch for the fix.

Regards,

--
Fujii Masao

Attachment Content-Type Size
pg_promote_and_postmaster_death.patch application/octet-stream 1.4 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeremy Schneider 2019-09-05 01:01:05 Re: ERROR: multixact X from before cutoff Y found to be still running
Previous Message Bossart, Nathan 2019-09-05 00:37:40 ERROR: multixact X from before cutoff Y found to be still running