Re: Why are wait events not reported even though it reads/writes a timeline history file?
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Fujii Masao <masao.fujii@oss.nttdata.com>
Cc: Masahiro Ikeda <ikedamsh@oss.nttdata.com>, pgsql-hackers@postgresql.org
Date: 2020-04-28T06:09:58Z
Lists: pgsql-hackers
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. -- Michael
Commits
-
Report missing wait event for timeline history file.
- 3a48740e898c 10.13 landed
- cc534fc3b289 11.8 landed
- a354d015386a 12.3 landed
- f2ff2035962c 13.0 landed