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 по дате отправления: