Thread: pgsql: Attempt to stabilize partitionwise_aggregate test

pgsql: Attempt to stabilize partitionwise_aggregate test

From
David Rowley
Date:
Attempt to stabilize partitionwise_aggregate test

In b07642dbc, we added code to trigger autovacuums based on the number of
INSERTs into a table. This seems to have cause some destabilization of
the regression tests. Likely this is due to an autovacuum triggering
mid-test and (per theory from Tom Lane) one of the test's queries causes
autovacuum to skip some number of pages, resulting in the reltuples
estimate changing.

The failure that this is attempting to fix is around the order of subnodes
in an Append. Since the planner orders these according to the subnode
cost, then it's possible that a small change in the reltuples value changes
the subnode's cost enough that it swaps position with one of its fellow
subnodes.

The failure here only seems to occur on slower buildfarm machines. In this
case, lousyjack, which seems have taken over 8 minutes to run just
the partitionwise_aggregate test. Such a slow run would increase the
chances that the autovacuum launcher would trigger a vacuum mid-test.
Faster machines run this test in sub second time, so have a much smaller
window for an autovacuum to trigger.

Here we fix this by disabling autovacuum on all tables created in the test.

Additionally, this reverts the change made in the
partitionwise_aggregate test in 2dc16efed.

Discussion: https://postgr.es/m/22297.1585797192@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/cefb82d49e2152e844af148a95d4072999dc3c6b

Modified Files
--------------
src/test/regress/expected/partition_aggregate.out | 45 ++++++++++++-----------
src/test/regress/sql/partition_aggregate.sql      | 45 ++++++++++++-----------
2 files changed, 48 insertions(+), 42 deletions(-)