Re: [DOC] Document concurrent index builds waiting on each other

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: [DOC] Document concurrent index builds waiting on each other
Дата
Msg-id 20200325191935.jjhdg2zy5k7ath5v@alap3.anarazel.de
обсуждение исходный текст
Ответ на [DOC] Document concurrent index builds waiting on each other  (James Coleman <jtc331@gmail.com>)
Ответы Re: [DOC] Document concurrent index builds waiting on each other  (James Coleman <jtc331@gmail.com>)
Список pgsql-hackers
Hi,

On 2019-09-18 13:51:00 -0400, James Coleman wrote:
> In my experience it's not immediately obvious (even after reading the
> documentation) the implications of how concurrent index builds manage
> transactions with respect to multiple concurrent index builds in
> flight at the same time.
> 
> Specifically, as I understand multiple concurrent index builds running
> at the same time will all return at the same time as the longest
> running one.
> 
> I've attached a small patch to call this caveat out specifically in
> the documentation. I think the description in the patch is accurate,
> but please let me know if there's some intricacies around how the
> various stages might change the results.
> 
> James Coleman

I'd much rather see effort spent fixing this issue as far as it relates
to concurrent CICs. For the snapshot waits we can add a procarray flag
(alongside PROCARRAY_VACUUM_FLAG) indicating that the backend is
doing. Which WaitForOlderSnapshots() can then use to ignore those CICs,
which is safe, because those transactions definitely don't insert into
relations targeted by CIC. The change to WaitForOlderSnapshots() would
just be to pass the new flag to GetCurrentVirtualXIDs, I think.

Greetings,

Andres Freund



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: plan cache overhead on plpgsql expression
Следующее
От: James Coleman
Дата:
Сообщение: Re: [DOC] Document concurrent index builds waiting on each other