Re: Why does execReplication.c lock tuples?

Поиск
Список
Период
Сортировка
От Petr Jelinek
Тема Re: Why does execReplication.c lock tuples?
Дата
Msg-id 3392745d-706f-3311-27b7-21ced146e690@2ndquadrant.com
обсуждение исходный текст
Ответ на Why does execReplication.c lock tuples?  (Andres Freund <andres@anarazel.de>)
Ответы Re: Why does execReplication.c lock tuples?  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
Hi,

On 20/01/2019 21:03, Andres Freund wrote:
> Hi,
> 
> Currently RelationFindReplTupleByIndex(), RelationFindReplTupleSeq()
> lock the found tuple. I don't quite get what that achieves - why isn't
> dealing with concurrency in the table_update/delete calls at the
> callsites sufficient? As far as I can tell there's no meaningful
> concurrency handling in the heap_lock_tuple() paths, so it's not like we
> follow update chains or anything. 
> 

Yeah that's leftover from the conflict detection/handling code that I
stripped away to keep the patched manageable size-wise. As things stand
now we could remove that and use normal heap_update instead of simple
variant. It'll be likely be needed again if we add conflict handling in
the future, but perhaps we could be smarter about it then (i.e. I can
imagine that it will be per table anyway, not necessarily default behavior).

-- 
  Petr Jelinek                  http://www.2ndQuadrant.com/
  PostgreSQL Development, 24x7 Support, Training & Services


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

Предыдущее
От: Amit Kapila
Дата:
Сообщение: Re: WIP: Avoid creation of the free space map for small tables
Следующее
От: Kyotaro HORIGUCHI
Дата:
Сообщение: Re: pg_stat_ssl additions