Re: GIN predicate locking slows down valgrind isolationtests tremendously

From: Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Teodor Sigaev <teodor(at)sigaev(dot)ru>, Shubham Barai <shubhambaraiss(at)gmail(dot)com>, Dmitry Ivanov <d(dot)ivanov(at)postgrespro(dot)ru>
Subject: Re: GIN predicate locking slows down valgrind isolationtests tremendously
Date: 2018-12-27 01:59:11
Message-ID: CAPpHfdsvqs7mjYGWdBzXPBhZdo0Xe07b+p6_L6bS+xEbN2WvNg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Dec 25, 2018 at 1:25 AM Alexander Korotkov
<a(dot)korotkov(at)postgrespro(dot)ru> wrote:
> On Fri, Dec 21, 2018 at 1:50 AM Alexander Korotkov
> <a(dot)korotkov(at)postgrespro(dot)ru> wrote:
> > чт, 20 дек. 2018 г., 2:22 Andres Freund andres(at)anarazel(dot)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.
>
> BTW, patch for reducing isolation testing for gin predicate locking is
> attached. Could anybody check its execution time with valgrind (and
> compare with execution time of previous test suite)?

I've managed to run it myself. I've added following lines to
src/test/isolation/Makefile to make it handy running these tests under
valgrind.

ifdef VALGRIND
override with_temp_install += PGCTLTIMEOUT=600 \
valgrind --leak-check=no --gen-suppressions=all \
--suppressions=../../tools/valgrind.supp --time-stamp=yes \
--log-file=pid-%p.log --trace-children=yes \
--trace-children-skip=*/initdb
endif

With only predicate-gin in isolation_schedule patched version takes
less than minute.

real 0m53.866s
user 0m9.472s
sys 0m1.706s

I also run unpatched version of predicate-gin test, but cancel that
after 30 minutes of waiting. So, it appears that patch solves the
problem. I'm going to commit it if no objections.

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2018-12-27 02:04:33 Re: random() (was Re: New GUC to sample log queries)
Previous Message Michael Paquier 2018-12-27 01:57:10 Re: Allow CLUSTER, VACUUM FULL and REINDEX to change tablespace on the fly