Re: GIN predicate locking slows down valgrind isolationtests tremendously

Поиск
Список
Период
Сортировка
От Alexander Korotkov
Тема Re: GIN predicate locking slows down valgrind isolationtests tremendously
Дата
Msg-id CAPpHfdv7rrDyy=MgsaK-L9kk0AH7az0B-mdC3w3p0FSb9uoyEg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: GIN predicate locking slows down valgrind isolationtests tremendously  (Alexander Korotkov <a.korotkov@postgrespro.ru>)
Ответы Re: GIN predicate locking slows down valgrind isolationtests tremendously  (Alexander Korotkov <a.korotkov@postgrespro.ru>)
Список pgsql-hackers
On Fri, Dec 21, 2018 at 1:50 AM Alexander Korotkov
<a.korotkov@postgrespro.ru> wrote:
> чт, 20 дек. 2018 г., 2:22 Andres Freund andres@anarazel.de:
>> On 2018-12-03 16:07:40 -0800, Andres Freund wrote:
>> > As far as I can tell that increase comes laregely from the new GIN
>> > tests.  Could one of you please look at keeping the test time increase
>> > to something more reasonable?
>>
>> Ping?
>>
>> It's also one of the slowest tests outside of valgrind...
>
> I'm going to take a look on that.

While trying to reduce isolation test suite for GIN, I found following
behavior surprising for me.

GinBtreeStack *
ginFindLeafPage(GinBtree btree, bool searchMode, Snapshot snapshot)
{
    GinBtreeStack *stack;

    stack = (GinBtreeStack *) palloc(sizeof(GinBtreeStack));
    stack->blkno = btree->rootBlkno;
    stack->buffer = ReadBuffer(btree->index, btree->rootBlkno);
    stack->parent = NULL;
    stack->predictNumber = 1;

    if (!searchMode)
        CheckForSerializableConflictIn(btree->index, NULL, stack->buffer);

So, we're checking for conflict on tree root for every entry insert.
That's right for posting tree, but completely unneeded for entry tree.
I'm intended to change that to lock root of only posting tree if
nobody explains me why I'm wrong...

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


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

Предыдущее
От: Mitar
Дата:
Сообщение: Feature: triggers on materialized views
Следующее
От: Noah Misch
Дата:
Сообщение: Re: Race to build pg_isolation_regress in "make -j check-world"