| From: | Raja Sai pranav <rajasaipranav0(at)gmail(dot)com> |
|---|---|
| To: | manuelreyesbravo(at)gmail(dot)com |
| Cc: | zhong950419(at)gmail(dot)com, robertmhaas(at)gmail(dot)com, masaofujii(at)gmail(dot)com, darianlepikhova(at)gmail(dot)com, ayushtiwarislg01(at)gmail(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Re: Assertion failure in WAL summarizer |
| Date: | 2026-11-12 18:46:40 |
| Message-ID: | CAPHduZBRxusHAaukVcMmmjKNT9bajAGY10daQGvTW+oxo-xhxg@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
Following up now that master has moved on a bit (currently 9a84976): the
v4 series still rebases cleanly and all three tests pass under
--enable-cassert --enable-tap-tests (004_promote_past_target,
015_summary_past_switch, 016_truncation_after_target).
While re-reading 0002 I wanted to double-check the limit_block == 0
exclusion in the cross-timeline truncation guard, since truncating an
existing relation to zero records limit_block = 0 just like a fork
creation does. It looks correct to me: a limit_block of 0 takes the
limit_block <= segno * RELSEG_SIZE path in GetFileBackupMethod() and
returns BACK_UP_FILE_FULLY, so the whole current file is sent as-is and
no stale truncation is applied. Only a limit_block > 0 from a past-switch
summary can discard block references, which is exactly what the guard
refuses. I also confirmed this end to end: truncating a table to zero,
re-inserting different rows, then taking an incremental backup and running
pg_combinebackup reconstructs a cluster whose rows match the source
exactly.
Still Tested-by on the series.
Thanks,
Sai Pranav
On Wed, Nov 11, 2026 11:10 AM, Manu <manuelreyesbravo(at)gmail(dot)com> wrote:
> Hi Shihao and Sai,
>
> On Tue, Nov 10, 2026 at 8:00 PM Raja Sai pranav
> <rajasaipranav0(at)gmail(dot)com> wrote:
> > With all three patches applied, every test passes (pg_combinebackup
> > 147/147, pg_walsummary 34/34, on an assert-enabled build).
>
> Thanks, Shihao, for the rebase, and Sai for the two rounds of testing.
> I got the same on master as of 952bab8b74d, and I also built it with
> meson and clang, as CFbot does: no warnings, and the 23 tests of
> pg_walsummary and pg_combinebackup pass. pgindent changes nothing.
>
> One small thing: the commit message of 0003 still names
> t/014_summary_past_switch.pl and t/015_truncation_after_target.pl.
> Since b5545d3f5f9 took t/014 in pg_combinebackup, they are now
> t/015_summary_past_switch.pl and t/016_truncation_after_target.pl.
>
> Regards,
> Manu
>
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Joao Rito | 2026-11-12 18:56:22 | Re: [PATCH v1] Fix initial sync of zero-column published tables |
| Previous Message | Tomas Vondra | 2026-11-12 18:07:22 | Re: A gap in preventing bogus parameterizations in a798660ebe3 |