Thread: pgsql: pg_stat_activity: show NULL stmt start time for walsenders

pgsql: pg_stat_activity: show NULL stmt start time for walsenders

From
Alvaro Herrera
Date:
pg_stat_activity: show NULL stmt start time for walsenders

Returning a non-NULL time is pointless, sinc a walsender is not a
process that would be running normal transactions anyway, but the code
was unintentionally exposing the process start time intermittently,
which was not only bogus but it also confused monitoring systems looking
for idle transactions.  Fix by avoiding all updates in walsenders.

Backpatch to 11, where walsenders started appearing in pg_stat_activity.

Reported-by: Tomas Vondra
Discussion: https://postgr.es/m/20191209234409.exe7osmyalwkt5j4@development

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/b175bd59fa54a90d21bc541f812643ac45281b98

Modified Files
--------------
src/backend/access/transam/xact.c | 7 +++++++
1 file changed, 7 insertions(+)


Re: pgsql: pg_stat_activity: show NULL stmt start time for walsenders

From
Alvaro Herrera
Date:
On 2020-Jan-07, Alvaro Herrera wrote:

> pg_stat_activity: show NULL stmt start time for walsenders
> 
> Returning a non-NULL time is pointless, sinc a walsender is not a
> process that would be running normal transactions anyway, but the code
> was unintentionally exposing the process start time intermittently,
> which was not only bogus but it also confused monitoring systems looking
> for idle transactions.  Fix by avoiding all updates in walsenders.
> 
> Backpatch to 11, where walsenders started appearing in pg_stat_activity.

So I misidentified things; it's not commit be87b70b6117 (pg11) that put
auxiliary processes in pg_stat_activity, but fc70a4b0df38 (pg10).  So I
applied it back to pg10 also.  (I did verify that walsenders appear with
a xact_time in pg_stat_activity in pg10 before this patch, and not
afterwards.)

We're still computing useless xact start timestamps in branches 9.4 -
9.6, but I don't think we care.  (If we do care, then we probably also
care about xact *stop* time ... but meh.)

Thanks

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Re: pgsql: pg_stat_activity: show NULL stmt start time for walsenders

From
Michael Paquier
Date:
Hi Alvaro,

On Tue, Jan 07, 2020 at 06:16:24PM -0300, Alvaro Herrera wrote:
> So I misidentified things; it's not commit be87b70b6117 (pg11) that put
> auxiliary processes in pg_stat_activity, but fc70a4b0df38 (pg10).  So I
> applied it back to pg10 also.  (I did verify that walsenders appear with
> a xact_time in pg_stat_activity in pg10 before this patch, and not
> afterwards.)
>
> We're still computing useless xact start timestamps in branches 9.4 -
> 9.6, but I don't think we care.  (If we do care, then we probably also
> care about xact *stop* time ... but meh.)

This commit has angered the buildfarm gods on HEAD and stable
branches, with failures in subscriptionCheck.
--
Michael

Attachment