Re: CI slowdown due to PG_TEST_INITDB_EXTRA_OPTS

From: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
To: Greg Sabino Mullane <htamfids(at)gmail(dot)com>
Cc: Jelte Fennema-Nio <postgres(at)jeltef(dot)nl>, Andres Freund <andres(at)anarazel(dot)de>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>
Subject: Re: CI slowdown due to PG_TEST_INITDB_EXTRA_OPTS
Date: 2026-09-06 18:12:38
Message-ID: EDB6D574-061F-4E58-B927-383884C35EBE@yandex-team.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Aug 13, 2026, Greg Sabino Mullane wrote:
> But they can still use PG_TEST_INITDB_EXTRA_OPTS, right? We are not
> replacing the var, just adding a new one, I thought.

Yes. I read Nazir's v2. It keeps PG_TEST_INITDB_EXTRA_OPTS
available for actual initdb options. Both Cluster.pm and pg_regress
handle the new variable consistently, and the CI changes move only
server GUCs to it. The patch LGTM.

I ran CI quite a few times today and spent some time waiting for it,
so I started looking for ways to make it faster.

I also tried moving one-use pg_rewind backups instead of copying them,
and caching the dummy_seclabel availability check across pg_upgrade
transfer modes. They save a few percent in the affected tests. I can
send those patches too if that sounds worthwhile.

The lowest-hanging fruit I found is splitting the Linux Meson 64-bit
ASAN tests across two runners, as we already do for the Windows Visual
Studio job. This does not reduce the total work and actually
duplicates the configure and build steps, but it does reduce how long
we wait for CI.

In one run, the two Test world slices took 8:33 and 12:08. Two
unsliced jobs running at the same time took 23:45 and 25:05. Together
the slices ran the same 412 tests. In a complete run, the gain is
naturally limited by the next-slowest job.

The CI image currently has Meson 1.7, so the patch emulates Meson 1.8's
round-robin --slice using the test list.

PFA. WDYT?

Best regards, Andrey Borodin.

Attachment Content-Type Size
v1-0001-Split-Linux-ASAN-tests-across-two-runners.patch application/octet-stream 3.7 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2026-09-06 19:07:58 Re: Internal error codes triggered by regression tests and user queries, take 2
Previous Message Ayush Tiwari 2026-09-06 16:34:37 Re: Stabilize recovery conflict stats checks in 031_recovery_conflict.pl