Re: Can concurrent create index concurrently block each other? - Mailing list pgsql-hackers

From Avinash Vallarapu
Subject Re: Can concurrent create index concurrently block each other?
Date
Msg-id CAN0TujdiCSOqNk3uU05x1abtE8xW=gFRsyZoYgLhpK51p+sL9w@mail.gmail.com
Whole thread Raw
In response to Can concurrent create index concurrently block each other?  (Konstantin Knizhnik <knizhnik@garret.ru>)
List 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@garret.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

pgsql-hackers by date:

Previous
From: Konstantin Knizhnik
Date:
Subject: Can concurrent create index concurrently block each other?
Next
From: Tom Lane
Date:
Subject: Re: Can concurrent create index concurrently block each other?