Re: Re: Assertion failure in WAL summarizer

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
>

In response to

Browse pgsql-hackers by date

  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