Re: parallel.c is not marked as test covered

Поиск
Список
Период
Сортировка
От Clément Prévost
Тема Re: parallel.c is not marked as test covered
Дата
Msg-id CABaKae_HuYzzt9Q7BTdj1f_=5QuPrrPCBsn0R4y3JrBH0z5uWA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: parallel.c is not marked as test covered  (Andres Freund <andres@anarazel.de>)
Ответы Re: parallel.c is not marked as test covered  (Noah Misch <noah@leadboat.com>)
Re: parallel.c is not marked as test covered  (Noah Misch <noah@leadboat.com>)
Список pgsql-hackers
On Mon, May 9, 2016 at 4:50 PM Andres Freund <andres@anarazel.de> wrote:
I think it's a good idea to run a force-parallel run on some buildfarm
members. But I'm rather convinced that the core tests run by all animals
need some minimal coverage of parallel queries. Both because otherwise
it'll be hard to get some coverage of unusual platforms, and because
it's imo something rather relevant to test during development.
Good point. 

After some experiments, I found out that, for my setup (9b7bfc3a88ef7b), a parallel seq scan is used given both parallel_setup_cost and parallel_tuple_cost are set to 0 and given that the table is at least 3 times as large as the biggest test table tenk1.

The attached patch
 is a regression test using this method that is reasonably small and fast to run. I also hid the workers count from the explain output when costs are disabled as suggested by Tom Lane and Robert Haas on this same thread (http://www.postgresql.org/message-id/CA+TgmobBQS4ss3+CwoZOKgbsBqKfRndwc=hLiALAep5aXQCTDA@mail.gmail.com).

Testing under these conditions does not test the planner job at all but at least some parallel code can be run on the build farm and the test suite gets 2643 more lines and 188 more function covered.

I don't know however if this test will be reliable on other platforms, some more feedback is needed here.
Вложения

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

Предыдущее
От: Álvaro Hernández Tortosa
Дата:
Сообщение: Re: 10.0
Следующее
От: Oleg Bartunov
Дата:
Сообщение: Re: Just-in-time compiling things (was: asynchronous and vectorized execution)