Re: Deadlock between backend and recovery may not be detected

Kyotaro Horiguchi <horikyota.ntt@gmail.com>

From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: masao.fujii@oss.nttdata.com
Cc: sawada.mshk@gmail.com, bdrouvot@amazon.com, vyegorov@gmail.com, pgsql-hackers@postgresql.org
Date: 2020-12-25T04:16:11Z
Lists: pgsql-hackers
At Wed, 23 Dec 2020 21:42:47 +0900, Fujii Masao <masao.fujii@oss.nttdata.com> wrote in 
> you. Attached
> is the updated of the patch. What about this version?

The patch contains a hunk in the following structure.

+	if (got_standby_lock_timeout)
+		goto cleanup;
+
+	if (got_standby_deadlock_timeout)
+	{
...
+	}
+
+cleanup:

It is eqivalent to

+	if (!got_standby_lock_timeout && got_standby_deadlock_timeout)
+	{
...
+	}

Is there any reason for the goto?

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Detect the deadlocks between backends and the startup process.

  2. Rework wait for AccessExclusiveLocks on Hot Standby