Re: [HACKERS] GSoC 2017: weekly progress reports (week 8)

Поиск
Список
Период
Сортировка
От Daniel Gustafsson
Тема Re: [HACKERS] GSoC 2017: weekly progress reports (week 8)
Дата
Msg-id D97A433C-5D57-449E-8894-7B71624D91F3@yesql.se
обсуждение исходный текст
Ответ на Re: [HACKERS] GSoC 2017: weekly progress reports (week 8)  (Alexander Korotkov <a.korotkov@postgrespro.ru>)
Список pgsql-hackers
> On 29 Sep 2017, at 00:59, Alexander Korotkov <a.korotkov@postgrespro.ru> wrote:
>
> On Thu, Sep 28, 2017 at 2:22 PM, Alexander Korotkov <a.korotkov@postgrespro.ru <mailto:a.korotkov@postgrespro.ru>>
wrote:
> On Fri, Jul 28, 2017 at 7:58 AM, Shubham Barai <shubhambaraiss@gmail.com <mailto:shubhambaraiss@gmail.com>> wrote:
> I am attaching a patch for predicate locking in SP-Gist index
>
> I took a look over this patch.
>
>         newLeafBuffer = SpGistGetBuffer(index,
>                                         GBUF_LEAF | (isNulls ? GBUF_NULLS : 0),
>                                         Min(totalLeafSizes,
>                                             SPGIST_PAGE_CAPACITY),
>                                         &xlrec.initDest);
>         PredicateLockPageSplit(index,
>                     BufferGetBlockNumber(current->buffer),
>                     BufferGetBlockNumber(newLeafBuffer));
>
> You move predicate lock during split only when new leaf page is allocated.  However SP-GiST may move items to the
freespace of another busy page during split (see other branches in doPickSplit()).  Your patch doesn't seem to handle
thiscase correctly. 
>
> I've more thoughts about this patch.
>
> +     * SPGist searches acquire predicate lock only on the leaf pages.
> + During a page split, a predicate lock is copied from the original
> + page to the new page.
>
> This approach isn't going to work.  When new tuple is inserted into SP-GiST, choose method can return spgAddNode.  In
thiscase new branch of the tree is added.  And this new branch could probably be used by scans we made in the past.
Therefore,you need to do predicate locking for internal pages too in order to detect all the possible conflicts. 

Based on this review, I’ve marked this patch Returned with feedback.  Please
re-submit a new version to an upcoming commitfest when ready.

cheers ./daniel

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

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

Предыдущее
От: Daniel Gustafsson
Дата:
Сообщение: Re: [HACKERS] Transactions involving multiple postgres foreign servers
Следующее
От: Kyotaro HORIGUCHI
Дата:
Сообщение: Re: [HACKERS] proposal - Default namespaces for XPath expressions(PostgreSQL 11)