]> granicus.if.org Git - postgresql/commit
Better fix for deadlock hazard in CREATE INDEX CONCURRENTLY.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 18 Apr 2018 16:07:38 +0000 (12:07 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 18 Apr 2018 16:07:38 +0000 (12:07 -0400)
commit7490ce725edd5b46f14fa8a449a97c9487c1d143
treef57def9bd167ad02acb963bc714bcb15c4aa7908
parent92b503c48d9d98657c59fe630f44b80efaab87de
Better fix for deadlock hazard in CREATE INDEX CONCURRENTLY.

Commit 54eff5311 did not account for the possibility that we'd have
a transaction snapshot due to default_transaction_isolation being
set high enough to require one.  The transaction snapshot is enough
to hold back our advertised xmin and thus risk deadlock anyway.
The only way to get rid of that snap is to start a new transaction,
so let's do that instead.  Also throw in an assert checking that we
really have gotten to a state where no xmin is being advertised.

Back-patch to 9.4, like the previous commit.

Discussion: https://postgr.es/m/CAMkU=1ztk3TpQdcUNbxq93pc80FrXUjpDWLGMeVBDx71GHNwZQ@mail.gmail.com
src/backend/commands/indexcmds.c