Re: Why are wait events not reported even though it reads/writes a timeline history file?

Fujii Masao <masao.fujii@oss.nttdata.com>

From: Fujii Masao <masao.fujii@oss.nttdata.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Masahiro Ikeda <ikedamsh@oss.nttdata.com>, pgsql-hackers@postgresql.org
Date: 2020-05-07T07:51:16Z
Lists: pgsql-hackers

Attachments


On 2020/05/02 11:24, Michael Paquier wrote:
> On Fri, May 01, 2020 at 12:04:56PM +0900, Fujii Masao wrote:
>> I applied cosmetic changes to the patch (attached). Barring any objection,
>> I will push this patch (also back-patch to v10 where wait-event for timeline
>> file was added).
> 
> Sorry for arriving late to the party.  I have one tiny comment.
> 
>> +		pgstat_report_wait_start(WAIT_EVENT_TIMELINE_HISTORY_READ);
>> +		res = fgets(fline, sizeof(fline), fd);
>> +		pgstat_report_wait_end();
>> +		if (ferror(fd))
>> +			ereport(ERROR,
>> +					(errcode_for_file_access(),
>> +					 errmsg("could not read file \"%s\": %m", path)));
>> +		if (res == NULL)
>> +			break;
> 
> It seems to me that there is no point to check ferror() if fgets()
> does not return NULL, no?

Yeah, so I updated the patch so that ferror() is called only
when fgets() returns NULL. Attached is the updated version of
the patch.

Regards,

-- 
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION

Commits

  1. Report missing wait event for timeline history file.