Re: Test to dump and restore objects left behind by regression - Mailing list pgsql-hackers
From | Ashutosh Bapat |
---|---|
Subject | Re: Test to dump and restore objects left behind by regression |
Date | |
Msg-id | CAExHW5uqYJGTSDJFCTA1+9d_nhxGJb7=1aFZu6uCdJbvhpO7cQ@mail.gmail.com Whole thread Raw |
In response to | Re: Test to dump and restore objects left behind by regression (Alvaro Herrera <alvherre@alvh.no-ip.org>) |
Responses |
Re: Test to dump and restore objects left behind by regression
|
List | pgsql-hackers |
On Thu, Mar 20, 2025 at 10:09 PM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote: > > On 2025-Mar-20, vignesh C wrote: > > > Will it help the execution time if we use --jobs in case of pg_dump > > and pg_restore wherever supported: > > As I said in another thread, I think we should enable this test to run > without requiring any PG_TEST_EXTRA, because otherwise the only way to > know about problems is to commit a patch and wait for buildfarm to run > it. Furthermore, I think running all 4 dump format modes is a waste of > time; there isn't any extra coverage by running this test in additional > formats. > > Putting those two thoughts together with yours about running with -j, > I propose that what we should do is make this test use -Fc with no > compression (to avoid wasting CPU on that) and use a lowish -j value for > both pg_dump and pg_restore, probably 2, or 3 at most. (Not more, > because this is likely to run in parallel with other tests anyway.) -Fc and -j are not allowed. -j is only allowed for directory format. $ pg_dump -Fc -j2 pg_dump: error: parallel backup only supported by the directory format Using just directory format, on my laptop with dev build (because that's what most developers will use when running the tests) $ meson test -C $BuildDir pg_upgrade/002_pg_upgrade | grep 002_pg_upgrade without dump/restore test 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 33.51s 19 subtests passed 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 34.22s 19 subtests passed 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 34.64s 19 subtests passed without -j, extra ~9 seconds 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 43.33s 28 subtests passed 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 43.25s 28 subtests passed 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 43.10s 28 subtests passed with -j2, extra 7.5 seconds 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 42.77s 28 subtests passed 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 41.67s 28 subtests passed 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 41.88s 28 subtests passed with -j3, extra 7 seconds 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 40.77s 28 subtests passed 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 41.05s 28 subtests passed 1/1 postgresql:pg_upgrade / pg_upgrade/002_pg_upgrade OK 41.28s 28 subtests passed Between -j2 and -j3 there's not much difference so we could use -j2. But it still takes 7.5 extra seconds which almost 20% extra time. Do you think that will be acceptable? I saw somewhere Andres mentioning that he runs this test quite frequently. Please note that I would very much like this test to be run by default, but Tom Lane has expressed a concern about adding even that much time [1] to run the test and mentioned that he would like the test to be opt-in. When I started writing the test one year before, people raised concerns about how useful the test would be. Within a year it has shown 4 bugs. I have similar feeling about the formats - it's doubtful now but will prove useful soon especially with the work happening on dump formats in nearby threads. If we run the test by default, we could run directory with -j by default and leave other formats as opt-in OR just forget those formats for now. But If we are going to make it opt-in, testing all formats gives the extra coverage. About the format coverage, consensus so far is me and Daniel are for including all formats when running test as opt-in. Alvaro and Vignesh are for just one format. We need a tie-breaker or someone amongst us needs to change their vote :D. -- Best Wishes, Ashutosh Bapat
pgsql-hackers by date: