agora inbox for pgsql-committers@postgresql.org  
help / color / mirror / Atom feed
From: Michael Paquier <michael@paquier.xyz>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Fix pgstat_count_io_op_time() calls passing incorrect informatio
Date: Wed, 17 Jun 2026 07:10:56 +0000
Message-ID: <E1wZkQK-000gjI-02@gemulon.postgresql.org> (raw)

Fix pgstat_count_io_op_time() calls passing incorrect information

Several calls of pgstat_count_io_op_time() have been used as data to
count negative values returned by pg_pread() or pg_pwrite(), leading to
an incorrect count reported, casting them back to uint64.

Most of the problematic calls updated here are adjusted so as we do not
report buggy negative numbers anymore.  In xlogrecovery.c, the spot
updated still counts short reads.  In xlog.c, after a WAL segment
initialization, I/O numbers are aggregated only after checking that the
operation has succeeded.

issues introduced by a051e71e28a1.

Reported-by: Peter Eisentraut <peter@eisentraut.org>
Author: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Ayush Tiwari <ayushtiwari.slg01@gmail.com>
Discussion: https://postgr.es/m/0db864e6-4477-4eba-b2be-d3523cc86564@eisentraut.org
Backpatch-through: 18

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3048e81308f9d0ebe62214b56c8ea3da42e45851

Modified Files
--------------
src/backend/access/transam/xlog.c         | 22 +++++++++++-----------
src/backend/access/transam/xlogreader.c   |  8 +++++---
src/backend/access/transam/xlogrecovery.c |  6 ++++--
src/backend/replication/walreceiver.c     |  6 +++---
4 files changed, 23 insertions(+), 19 deletions(-)



view thread (2+ messages)

Message-ID: <E1wZkQK-000gjI-02@gemulon.postgresql.org>
Permalink:  ../E1wZkQK-000gjI-02@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1wZkQK-000gjI-02@gemulon.postgresql.org

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: michael@paquier.xyz, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Fix pgstat_count_io_op_time() calls passing incorrect informatio
  In-Reply-To: <E1wZkQK-000gjI-02@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox