Re: pg19b1: TRAP: failed Assert("pgstat_bktype_io_stats_valid(bktype_shstats, MyBackendType)")

From: Melanie Plageman <melanieplageman(at)gmail(dot)com>
To: Andrey Rachitskiy <pl0h0yp1(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Andrey Borodin <x4mmm(at)yandex-team(dot)ru>
Subject: Re: pg19b1: TRAP: failed Assert("pgstat_bktype_io_stats_valid(bktype_shstats, MyBackendType)")
Date: 2026-07-31 21:53:13
Message-ID: CAAKRu_b_pQhgBEA8z3jR=Zo7HGb49_Hq=p0=QHC8ErqO8vnrLQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jul 21, 2026 at 2:22 PM Andrey Rachitskiy <pl0h0yp1(at)gmail(dot)com> wrote:
>
> I tried implementing the approach Andres suggested, so that we keep
> recording the foreign-IO wait time rather than dropping it.
>
> The patch:
> - adds pgstat_count_io_time() for timing-only updates (no operation count).
> - switches WaitReadBuffers() to use pgstat_count_io_time().
> - keeps pgstat_count_io_op_time() for counted operations, with Assert(cnt > 0).
> - stops requiring a non-zero count whenever time is non-zero.
> - briefly documents that per-backend IO stats may then show read_time
> without matching reads.

I committed a version of this that just removes the requirement for
non-zero count when time is non-zero. I didn't think the function
added much value and, especially for the backpatch, it's better if we
don't have to add a new function. Thanks Andrey for the patch, Justin
for the report, and Andres for weighing in.

- Melanie

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Christoph Berg 2026-07-31 22:50:45 Re: WAL compression setting after PostgreSQL LZ4 default change
Previous Message Tomas Vondra 2026-07-31 21:44:30 Re: WAL compression setting after PostgreSQL LZ4 default change