Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY
От | Michail Nikolaev |
---|---|
Тема | Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY |
Дата | |
Msg-id | CANtu0ogx6LAQMTxSdkhKW0yZCKBEnCVipEw=W+jQ4WJci=Ey1g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY (Michael Paquier <michael@paquier.xyz>) |
Ответы |
Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY
|
Список | pgsql-hackers |
Hello, Michael.
> Isn't the issue that we may select as arbiter indexes stuff that's !indisvalid?
As far as I can see (1) !indisvalid indexes are filtered out.
But... It looks like this choice is not locked in any way (2), so index_concurrently_swap or index_concurrently_set_dead can change this index after the decision is made, even despite WaitForLockersMultiple (3). In some cases, it may cause a data loss...
But I was unable to reproduce that using some random usleep(), however - maybe it is a wrong assumption.
В списке pgsql-hackers по дате отправления: