| From: | Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com> |
|---|---|
| To: | Michael Paquier <michael(at)paquier(dot)xyz> |
| Cc: | Sehrope Sarkuni <sehrope(at)jackdb(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: [PATCH] Speed up pg_waldump TAP test and fix some GitHub CI Windows flakiness |
| Date: | 2026-08-31 10:43:22 |
| Message-ID: | CAN55FZ2sV2tvbuj=FwbsUAKoLRLRXrMMgcA+gbPH75jxV3SWoQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
On Mon, 31 Aug 2026 at 10:53, Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>
> On Fri, Aug 28, 2026 at 11:43:54PM -0400, Sehrope Sarkuni wrote:
> > Was testing a rebased Windows patch using GitHub CI and had some flaky slow
> > test timeout errors for an unrelated pg_waldump test. On Windows (and only
> > Windows) it was running for 500+ seconds and timing out. After a bit of
> > research, I figured it's because of the notoriously slow spoofed IPC that
> > perl does for the forked pg_waldump invocations (that then gets grepped by
> > perl).
>
> Your simple patch is also proving to make my runs of this test sort of
> 40% faster on Linux, at quick glance.
Yes, thank you for the patch! I confirm that runtime dropped from ~400
seconds to ~100 seconds on Windows CI.
> The --limit=1 additions are no-brainers in the commands where we don't
> expect specific outputs and/or records. Same thing can be said for
> the few --limit=5 cases, where I guess you've just chosen a number to
> be representative enough for the output. This number looks fine here.
Doesn't '--limit N' decrease coverage? For example,
`
@lines =
test_pg_waldump($path, $start_lsn, $end_lsn, '--rmgr' => 'Btree');
is(grep(!/^rmgr: Btree/, @lines), 0, 'only Btree lines');
`
was checking all Btree records from $start to $end. However,
`
@lines = test_pg_waldump(
$path, $start_lsn, $end_lsn,
'--rmgr' => 'Btree',
'--limit' => 5);
is(grep(!/^rmgr: Btree/, @lines), 0, 'only Btree lines');
`
checks the first 5 Btree records. Is that enough?
Also, if I am not mistaken, after this patch there is no test that
confirms pg_waldump runs correctly from start to end.
> - my @lines = test_pg_waldump($path, $start_lsn, $end_lsn);
> - is(grep(!/^rmgr: \w/, @lines), 0, 'all output lines are rmgr lines');
> -
> - @lines = test_pg_waldump($path, $contrecord_lsn, $end_lsn);
> + my @lines = test_pg_waldump($path, $contrecord_lsn, $end_lsn);
>
> Does this removal imply a loss of coverage?
I think you are right. At least, we lose coverage of tar and gzip inputs.
--
Regards,
Nazir Bilal Yavuz
Microsoft
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Pavlo Golub | 2026-08-31 10:47:13 | Re[2]: [PATCH v4] Add pg_current_vxact_id() function |
| Previous Message | Bertrand Drouvot | 2026-08-31 10:38:01 | Re: Report relation extension blockers within parallel lock groups |