Re: Can concurrent create index concurrently block each other?

From: Avinash Vallarapu <avinash(dot)vallarapu(at)gmail(dot)com>
To: Konstantin Knizhnik <knizhnik(at)garret(dot)ru>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Can concurrent create index concurrently block each other?
Date: 2023-10-15 19:24:50
Message-ID: CAN0TujdiCSOqNk3uU05x1abtE8xW=gFRsyZoYgLhpK51p+sL9w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I noticed this on PG 10 recently, while I agree it is an obsolete version.
pg_blocking_pids() showed that one of the CIC on a Table is blocked
by a CIC on another Table.

I saw them both created over a period of time after which I doubted
what was reported by pg_blocking_pids().

As it was PG 10, I could not see the phase of CIC and interestingly no wait
events.
Anyways, PG 10 is unsupported but I would try it on a newer version.

Curious to understand why this would have happened.

Regards,
Avi Vallarapu.

On Sun, Oct 15, 2023 at 2:35 PM Konstantin Knizhnik <knizhnik(at)garret(dot)ru>
wrote:

> One our customer complains that he spawned two `create index concurrently`
> for two different tables and both stuck in "waiting for old snapshots".
> I wonder if two CIC can really block each other in `
> WaitForOlderSnapshots`?
> I found the similar question in hacker archive:
>
>
> https://www.postgresql.org/message-id/flat/MWHPR20MB1421AEC7CEC67B159AC188F6A19A0%40MWHPR20MB1421.namprd20.prod.outlook.com
>
> but it is quite old (2016). Was the problem fixed since that time? And if
> not, why there it is not mentioned in CIC documentation that performing
> several CIC in parallel can cause "deadlock"?
>
> Thanks in advance,
> Konstantin
>

--
Regards,
Avinash Vallarapu
+1-902-221-5976

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2023-10-15 19:59:56 Re: Can concurrent create index concurrently block each other?
Previous Message Konstantin Knizhnik 2023-10-15 18:33:00 Can concurrent create index concurrently block each other?