Re: Support for REINDEX CONCURRENTLY - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Support for REINDEX CONCURRENTLY
Date
Msg-id CAB7nPqRWf5u4r59=gm1Pmfjit-YAZS0mn3CPTBBmJ+1F=unXqA@mail.gmail.com
Whole thread Raw
In response to Re: Support for REINDEX CONCURRENTLY  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: Support for REINDEX CONCURRENTLY  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers


On Wed, Mar 6, 2013 at 9:09 PM, Andres Freund <andres@2ndquadrant.com> wrote:
On 2013-03-06 20:59:37 +0900, Michael Paquier wrote:
> OK. Patches updated... Please see attached.
> With all the work done on those patches, I suppose this is close to being
> something clean...

Yes, its looking good. There are loads of improvements possible but
those can very well be made incrementally.
> > I have the feeling we are talking past each other. Unless I miss
> > something *there is no* WaitForMultipleVirtualLocks between phase 2 and
> > 3. But one WaitForMultipleVirtualLocks for all would be totally
> > sufficient.
> >
> OK, sorry for the confusion. I added a call to WaitForMultipleVirtualLocks
> also before phase 3.
> Honestly, I am still not very comfortable with the fact that the ShareLock
> wait on parent relation is done outside each index transaction for build
> and validation... Changed as requested though...

Could you detail your concerns a bit? I tried to think it through
multiple times now and I still can't see a problem. The lock only
ensures that nobody has the relation open with the old index definition
in mind...
I am making a comparison with CREATE INDEX CONCURRENTLY where the ShareLock wait is made inside the build and validation transactions. Was there any particular reason why CREATE INDEX CONCURRENTLY wait is done inside a transaction block?
That's my only concern.
--
Michael

pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Support for REINDEX CONCURRENTLY
Next
From: Andres Freund
Date:
Subject: Re: Support for REINDEX CONCURRENTLY