Re: remove spurious CREATE INDEX CONCURRENTLY wait
От | Tom Lane |
---|---|
Тема | Re: remove spurious CREATE INDEX CONCURRENTLY wait |
Дата | |
Msg-id | 2087667.1604971933@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: remove spurious CREATE INDEX CONCURRENTLY wait (Michael Paquier <michael@paquier.xyz>) |
Ответы |
Re: remove spurious CREATE INDEX CONCURRENTLY wait
Re: remove spurious CREATE INDEX CONCURRENTLY wait |
Список | pgsql-hackers |
Michael Paquier <michael@paquier.xyz> writes: >> + LWLockAcquire(ProcArrayLock, LW_EXCLUSIVE); >> + MyProc->vacuumFlags |= PROC_IN_SAFE_IC; >> + ProcGlobal->vacuumFlags[MyProc->pgxactoff] = MyProc->vacuumFlags; >> + LWLockRelease(ProcArrayLock); > I can't help noticing that you are repeating the same code pattern > eight times. I think that this should be in its own routine, and that > we had better document that this should be called just after starting > a transaction, with an assertion enforcing that. Do we really need exclusive lock on the ProcArray to make this flag change? That seems pretty bad from a concurrency standpoint. regards, tom lane
В списке pgsql-hackers по дате отправления: