| From: | Manu <manuelreyesbravo(at)gmail(dot)com> |
|---|---|
| To: | Greg Burd <greg(at)burd(dot)me> |
| Cc: | Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>, shihao zhong <zhong950419(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: UNDO with FILEOPS, and the FLUX table AM |
| Date: | 2026-10-18 00:16:17 |
| Message-ID: | 179228257731.1791152.8479044033826431218@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi Greg,
> so, hopefully I've delivered v7 with:
You did, and it's the real v7 this time. I ran the three checks I said I
would, on master at 964d88fac46 (there is a rebase note at the end):
test_fileops/t/017 passes on all three paths -- online ROLLBACK, abort redo on
a standby, startup undo -- 12/12, and t/018 (rename) is 68/68. FileOpsRename
is immediate-with-rollback as of 0005, which is what the harness expected. The
logical-revert-worker path that 0005 also mentions isn't exercised by 017, so
that one is still uncovered if you want to add it.
Per-prefix: all 20 prefixes build without warnings and pass the core check plus
their own tests. The three things I flagged on v4 are fixed -- test_fileops is
registered from 0002, 0004 carries only recovery/071, and recovery/134 passes
in 0006.
The fsync repro from the v6 thread, v4 vs v7, same machine, on a quiet lane
(median with bootstrap CI95, n=9; both are cassert builds, so these are
ratios, not production absolutes):
- ROLLBACK of 32,000 chmods: 23.3 s -> 49.6 ms.
- startup undo, 32,000 in flight: 24.3 s -> 48 ms.
- abort redo of 32,000 inverses (n=3): ~24.8 s -> ~0.06 s.
That is roughly 470x, 500x and 400x, and the gap grows with N (46x at 200),
which matches v4 doing one fsync per record and v7 batching them.
One rebase note: the posted v7 doesn't apply on current master (26bd08f):
0002 conflicts in recovery/meson.build with 068c9aaec31 (the new
t/060_multixact_crashed_updater.pl) and leaves a duplicate 060. It is a
context conflict; I measured on 964d88fac46, where git am is clean. cfbot will
need the rebase too.
Regards,
Manu
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Manu | 2026-10-18 01:16:05 | Re: query_int wrongly parses zero-padded input |
| Previous Message | Tom Lane | 2026-10-18 00:09:54 | Re: pgstat: allow a stats kind to use its own dedicated dsa/dshash |