Re: Deadlock between concurrent index builds on different tables

Jeremy Finzel <finzelj@gmail.com>

From: Jeremy Finzel <finzelj@gmail.com>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Jeff Janes <jeff.janes@gmail.com>, Postgres General <pgsql-general@postgresql.org>
Date: 2017-12-26T17:00:55Z
Lists: pgsql-general
On Tue, Dec 26, 2017 at 10:28 AM, Alvaro Herrera <alvherre@alvh.no-ip.org>
wrote:

> Jeremy Finzel wrote:
> > >
> > >
> > >> Each index build needs to wait for all other transactions
> > >> (Including the ones used by the other index build) to finish.
> > >> So I don't think a deadlock here is unexpected.
>
> > Does that mean I should never build more than one concurrent index at
> > a time within the entire cluster? If so, that is not clear from the
> > documentation.
>
> No, there is no such expectation.  Jeff analyzed your scenario,
> discovered a bug and sent a patch to fix it -- care to test it and
> report back?  You can get it from here:
>
> https://www.postgresql.org/message-id/CAMkU=1ztk3TpQdcUNbxq93pc80FrXUjpDWL
> GMeVBDx71GHNwZQ@mail.gmail.com
>
> --
> Álvaro Herrera                https://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>
>
I would be thrilled to review it, but I need a little direction as I have
not done a patch review before.  I have been reading through some of the
developer FAQ and patch info. The attached file is simply a git diff, so
I'm not sure how I am to use this?  Is there a specific source version I
can download and compile?  I know where to get the current master, etc.,
from git, but where can I get the patched version or what is the proper way
to apply the patch to current master?

Thanks!
Jeremy

Commits

  1. Fix deadlock hazard in CREATE INDEX CONCURRENTLY