Re: circular wait not triggering deadlock ?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Justin Pryzby <pryzby(at)telsasoft(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: circular wait not triggering deadlock ?
Date: 2018-03-08 18:57:06
Message-ID: 21765.1520535426@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Justin Pryzby <pryzby(at)telsasoft(dot)com> writes:
> Running pg10.2, I have a handful of maintenance jobs run in the middle of the
> night, which appear to have gotten stuck waiting on each other..

> ts=# SELECT granted, pid, mode, virtualtransaction, virtualxid FROM pg_locks WHERE virtualxid='22/4317099' ORDER BY 1,2,3;
> granted | pid | mode | virtualtransaction | virtualxid
> ---------+-------+---------------+--------------------+------------
> f | 20488 | ShareLock | 19/28401734 | 22/4317099
> t | 6471 | ExclusiveLock | 22/4317099 | 22/4317099

PID 20488 is evidently waiting for PID 6471 to finish its transaction.
What's that one doing?

> Is it a bug that this isn't caught by a deadlock detector and cancelled?

We did find a bug recently with concurrent CREATE INDEX CONCURRENTLY's
all waiting for each other to commit.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Kelly Burkhart 2018-03-08 19:05:29 Re: Crash and core on 10.1 and 10.2
Previous Message Pavel Stehule 2018-03-08 18:34:08 Re: Troubleshooting a segfault and instance crash