Why are wait events not reported even though it reads/writes a timeline history file?
Masahiro Ikeda <ikedamsh@oss.nttdata.com>
From: Masahiro Ikeda <ikedamsh@oss.nttdata.com>
To: pgsql-hackers@postgresql.org
Date: 2020-04-24T02:29:43Z
Lists: pgsql-hackers
Attachments
- 0001-some-wait-events-for-timeline-history-file-are-not-r.patch (text/x-diff) patch 0001
Hi, There are two unexpected codes for me about wait events for timeline history file. Please let me know your thoughts whether if we need to change. 1. readTimeLineHistory() function in timeline.c The readTimeLineHistory() reads a timeline history file, but it doesn't report “WAIT_EVENT_TIMELINE_HISTORY_READ". In my understanding, sscanf() is blocking read. So, it's important to report a wait event. 2. writeTimeLineHistory() function in timeline.c The writeTimeLineHistory() function may write a timeline history file twice, but it reports “WAIT_EVENT_TIMELINE_HISTORY_WRITE" only once. It makes sense to report a wait event twice, because both of them use write(). I attached a patch to mention the code line number. I checked the commit log which "WAIT_EVENT_TIMELINE_HISTORY_READ" and "WAIT_EVENT_TIMELINE_HISTORY_WRITE" are committed and the discussion about it. But I can't find the reason. Please give me your comments. If we need to change, I can make a patch to fix them. By the way, which is correct "timeline's history file" or "timeline history file"? The timeline.c has both. In my understanding, the latter is correct. If so, I will modify together. Regards, -- Masahiro Ikeda NTT DATA CORPORATION
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