Re: SKIP LOCKED DATA (work in progress)

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: SKIP LOCKED DATA (work in progress)
Дата
Msg-id 20140910134728.GB4701@eldon.alvh.no-ip.org
обсуждение исходный текст
Ответ на Re: SKIP LOCKED DATA (work in progress)  (Thomas Munro <munro@ip9.org>)
Ответы Re: SKIP LOCKED DATA (work in progress)  (Robert Haas <robertmhaas@gmail.com>)
Re: SKIP LOCKED DATA (work in progress)  (Thomas Munro <munro@ip9.org>)
Список pgsql-hackers
Thomas Munro wrote:

> @@ -2022,7 +2030,7 @@ EvalPlanQualFetch(EState *estate, Relation relation, int lockmode, bool noWait,
>               */
>              test = heap_lock_tuple(relation, &tuple,
>                                     estate->es_output_cid,
> -                                   lockmode, noWait,
> +                                   lockmode, wait_policy,
>                                     false, &buffer, &hufd);
>              /* We now have two pins on the buffer, get rid of one */
>              ReleaseBuffer(buffer);

Doesn't this heap_lock_tuple() need to check for a WouldBlock result?
Not sure that this is the same case that you were trying to test in
heap_lock_updated_tuple; I think this requires an update chain (so that
EPQFetch is invoked) and some tuple later in the chain is locked by a
third transaction.

I attach some additional minor suggestions to your patch.  Please feel
free to reword comments differently if you think my wording isn't an
improvements (or I've maked an english mistakes).

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: PENDING_LIST_CLEANUP_SIZE - maximum size of GIN pending list Re: HEAD seems to generate larger WAL regarding GIN index
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: pgbench throttling latency limit