From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Jeff Janes <jeff.janes@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Subject: Re: Deadlock in multiple CIC.
Date: Thu, 4 Jan 2018 09:29:25 -0300
Message-ID: <20180104122925.h2fmxf3tnk666c6k@alvherre.pgsql> (raw)
In-Reply-To: <20180103022242.yjyjcg2ndqwc6sss@alvherre.pgsql>
Alvaro Herrera wrote:
> Pushed to all affected branches, along with a somewhat lame
> isolationtester test for the condition (since we've already broken this
> twice and not noticed for long).
Buildfarm member okapi just failed this test in 9.4:
2018-01-04 02:44:43.481 PST [5a4e059a.3af1:6] ERROR: deadlock detected
2018-01-04 02:44:43.481 PST [5a4e059a.3af1:7] DETAIL: Process 15089 waits for ShareLock on virtual transaction 4/882; blocked by process 15090.
Process 15090 waits for ShareLock on virtual transaction 3/906; blocked by process 15089.
Process 15089:
CREATE INDEX CONCURRENTLY mcic_one_pkey ON mcic_one (id)
WHERE lck_shr(281457);
Process 15090:
CREATE INDEX CONCURRENTLY mcic_two_pkey ON mcic_two (id)
WHERE unlck();
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=okapi&dt=2018-01-04%2010%3A35%3A02
The interesting thing here is that the failure seems to be just like
before the patch: each session is waiting on a snapshot from the other
session. I suppose this must be some *other* snapshot, not the catalog
snapshot ...
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: alvherre@alvh.no-ip.org, jeff.janes@gmail.com
Subject: Re: Deadlock in multiple CIC.
In-Reply-To: <20180104122925.h2fmxf3tnk666c6k@alvherre.pgsql>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox