Re: Why are wait events not reported even though it reads/writes atimeline history file? - Mailing list pgsql-hackers

From Masahiro Ikeda
Subject Re: Why are wait events not reported even though it reads/writes atimeline history file?
Date
Msg-id 24cc681e7048f984e490f5d01f7ead19@oss.nttdata.com
Whole thread Raw
In response to Re: Why are wait events not reported even though it reads/writes atimeline history file?  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Why are wait events not reported even though it reads/writes atimeline history file?  (Fujii Masao <masao.fujii@oss.nttdata.com>)
List pgsql-hackers
On 2020-04-28 15:09, Michael Paquier wrote:
> On Tue, Apr 28, 2020 at 02:49:00PM +0900, Fujii Masao wrote:
>> Isn't it safer to report the wait event during fgets() rather than 
>> putting
>> those calls around the whole loop, like other code does? For example,
>> writeTimeLineHistory() reports the wait event during read() rather 
>> than
>> whole loop.
> 
> Yeah, I/O wait events should be taken only during the duration of the
> system calls.  Particularly here, you may finish with an elog() that
> causes the wait event to be set longer than it should, leading to a
> rather incorrect state if a snapshot of pg_stat_activity is taken.
> --

Thanks for your comments.

I fixed it to report the wait event during fgets() only.
Please review the v2 patch I attached.

Regard,
-- 
Masahiro Ikeda
Attachment

pgsql-hackers by date:

Previous
From: Kyotaro Horiguchi
Date:
Subject: Re: [HACKERS] Restricting maximum keep segments by repslots
Next
From: Benjamin Schaller
Date:
Subject: Raw device on PostgreSQL