Let's get rid of serial_schedule

Started by Tom Lanealmost 5 years ago7 messageshackers
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

We've several times discussed doing $SUBJECT by replacing the
makefile's use of serial_schedule with calling parallel_schedule
with --max-connections=1. This'd remove the need to maintain
two lists of regression test scripts.

I got annoyed again just now about how people seem unable to
keep the two lists in the same order, so here is a patch to
get rid of serial_schedule in that way.

(The vcregress.pl changes are untested, but they seem straightforward
enough. I do wonder though why we spell it --max-concurrent-tests
there when the makefile uses --max-connections.)

It'd perhaps be possible to adjust pg_regress so that when
--max-connections=1 its progress output looks exactly the same
as it did with serial_schedule. I doubt it's worth the trouble
though, unless anyone really wants that.

Any objections?

regards, tom lane

Attachments:

delete-serial_schedule.patchtext/x-diff; charset=us-ascii; name=delete-serial_schedule.patchDownload+15-217
#2Daniel Gustafsson
daniel@yesql.se
In reply to: Tom Lane (#1)
Re: Let's get rid of serial_schedule

On 11 May 2021, at 20:58, Tom Lane <tgl@sss.pgh.pa.us> wrote:

We've several times discussed doing $SUBJECT by replacing the
makefile's use of serial_schedule with calling parallel_schedule
with --max-connections=1. This'd remove the need to maintain
two lists of regression test scripts.

I got annoyed again just now about how people seem unable to
keep the two lists in the same order, so here is a patch to
get rid of serial_schedule in that way.

Very much +1 on this approach.

+ # for backwards compatibility, interpret "serial" as parallel tests

This comment may seem odd without reading the commit message. Perhaps it can
be reworded to "..as parallel tests running with a single worker" or something
along those lines?

--
Daniel Gustafsson https://vmware.com/

#3Heikki Linnakangas
heikki.linnakangas@enterprisedb.com
In reply to: Tom Lane (#1)
Re: Let's get rid of serial_schedule

On 11/05/2021 21:58, Tom Lane wrote:

We've several times discussed doing $SUBJECT by replacing the
makefile's use of serial_schedule with calling parallel_schedule
with --max-connections=1. This'd remove the need to maintain
two lists of regression test scripts.

I got annoyed again just now about how people seem unable to
keep the two lists in the same order, so here is a patch to
get rid of serial_schedule in that way.

+1

+ # for backwards compatibility, interpret "serial" as parallel tests

This comment isn't great, IMHO. How about:

# for backwards comopatibility, "serial" runs the tests in
# parallel_schedule one by one.

- Heikki

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Heikki Linnakangas (#3)
Re: Let's get rid of serial_schedule

Heikki Linnakangas <hlinnaka@iki.fi> writes:

On 11/05/2021 21:58, Tom Lane wrote:

+ # for backwards compatibility, interpret "serial" as parallel tests

This comment isn't great, IMHO. How about:

# for backwards comopatibility, "serial" runs the tests in
# parallel_schedule one by one.

Yeah, and on closer inspection, the code is wrong too :-(.
I'd confused --max-concurrent-tests with --max-connections,
but they're different.

Also, I did take a look at pg_regress.c, and confirmed my
fear that getting it to duplicate the serial output style
would be kind of messy.

regards, tom lane

Attachments:

delete-serial_schedule-2.patchtext/x-diff; charset=us-ascii; name=delete-serial_schedule-2.patchDownload+13-215
#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Daniel Gustafsson (#2)
Re: Let's get rid of serial_schedule

Daniel Gustafsson <daniel@yesql.se> writes:

On 11 May 2021, at 20:58, Tom Lane <tgl@sss.pgh.pa.us> wrote:

+ # for backwards compatibility, interpret "serial" as parallel tests

This comment may seem odd without reading the commit message. Perhaps it can
be reworded to "..as parallel tests running with a single worker" or something
along those lines?

I liked Heikki's phrasing, so the v2 patch does it his way.

regards, tom lane

#6Daniel Gustafsson
daniel@yesql.se
In reply to: Tom Lane (#5)
Re: Let's get rid of serial_schedule

On 11 May 2021, at 21:44, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Daniel Gustafsson <daniel@yesql.se> writes:

On 11 May 2021, at 20:58, Tom Lane <tgl@sss.pgh.pa.us> wrote:

+ # for backwards compatibility, interpret "serial" as parallel tests

This comment may seem odd without reading the commit message. Perhaps it can
be reworded to "..as parallel tests running with a single worker" or something
along those lines?

I liked Heikki's phrasing, so the v2 patch does it his way.

Agreed, I like his phrasing too.

--
Daniel Gustafsson https://vmware.com/

#7Pavel Borisov
pashkin.elfe@gmail.com
In reply to: Daniel Gustafsson (#6)
Re: Let's get rid of serial_schedule

вт, 11 мая 2021 г. в 23:47, Daniel Gustafsson <daniel@yesql.se>:

On 11 May 2021, at 21:44, Tom Lane <tgl@sss.pgh.pa.us> wrote:

Daniel Gustafsson <daniel@yesql.se> writes:

On 11 May 2021, at 20:58, Tom Lane <tgl@sss.pgh.pa.us> wrote:

+ # for backwards compatibility, interpret "serial" as parallel tests

This comment may seem odd without reading the commit message. Perhaps

it can

be reworded to "..as parallel tests running with a single worker" or

something

along those lines?

I liked Heikki's phrasing, so the v2 patch does it his way.

Agreed, I like his phrasing too.

+1 too. I'd also like to get rid of the redundant test schedule. Very much
appreciate the initiative.

--
Best regards,
Pavel Borisov

Postgres Professional: http://postgrespro.com <http://www.postgrespro.com&gt;