Hi,
When I read the documents and source code of wait evens,
I found that the following wait events are never reported.
* LogicalChangesRead: Waiting for a read from a logical changes file.
* LogicalChangesWrite: Waiting for a write to a logical changes file.
* LogicalSubxactRead: Waiting for a read from a logical subxact file.
* LogicalSubxactWrite: Waiting for a write to a logical subxact file.
The wait events are introduced in the following patch.
Add support for streaming to built-in logical replication.
Amit Kapila on 2020/9/3 11:24:07
464824323e57dc4b397e8b05854d779908b55304
I read the above discussion and found the wait events were reported at first.
But they seemed to be removed because they are not necessary because
BufFileWrite/BufFileRead are enough([1]).
If my understanding is right, it's better to remove them since they make
users confused. Please see the attached patch. I confirmed that to make
check-world passes all tests.
[1]
https://www.postgresql.org/message-id/CAA4eK1JV37jXUT5LeWzkBDNNnSntwQbLUZAj6m82QMiR1ZuuHQ%40mail.gmail.com
Regards,
--
Masahiro Ikeda
NTT DATA CORPORATION
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml
index 7355835202..3173ec2566 100644
--- a/doc/src/sgml/monitoring.sgml
+++ b/doc/src/sgml/monitoring.sgml
@@ -1549,22 +1549,6 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
<entry><literal>WALWrite</literal></entry>
<entry>Waiting for a write to a WAL file.</entry>
</row>
- <row>
- <entry><literal>LogicalChangesRead</literal></entry>
- <entry>Waiting for a read from a logical changes file.</entry>
- </row>
- <row>
- <entry><literal>LogicalChangesWrite</literal></entry>
- <entry>Waiting for a write to a logical changes file.</entry>
- </row>
- <row>
- <entry><literal>LogicalSubxactRead</literal></entry>
- <entry>Waiting for a read from a logical subxact file.</entry>
- </row>
- <row>
- <entry><literal>LogicalSubxactWrite</literal></entry>
- <entry>Waiting for a write to a logical subxact file.</entry>
- </row>
</tbody>
</tgroup>
</table>
diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c
index ef7e6bfb77..4a5b7502f5 100644
--- a/src/backend/utils/activity/wait_event.c
+++ b/src/backend/utils/activity/wait_event.c
@@ -717,18 +717,6 @@ pgstat_get_wait_io(WaitEventIO w)
case WAIT_EVENT_WAL_WRITE:
event_name = "WALWrite";
break;
- case WAIT_EVENT_LOGICAL_CHANGES_READ:
- event_name = "LogicalChangesRead";
- break;
- case WAIT_EVENT_LOGICAL_CHANGES_WRITE:
- event_name = "LogicalChangesWrite";
- break;
- case WAIT_EVENT_LOGICAL_SUBXACT_READ:
- event_name = "LogicalSubxactRead";
- break;
- case WAIT_EVENT_LOGICAL_SUBXACT_WRITE:
- event_name = "LogicalSubxactWrite";
- break;
/* no default case, so that compiler will warn */
}
diff --git a/src/include/utils/wait_event.h b/src/include/utils/wait_event.h
index 6007827b44..c22142365f 100644
--- a/src/include/utils/wait_event.h
+++ b/src/include/utils/wait_event.h
@@ -221,11 +221,7 @@ typedef enum
WAIT_EVENT_WAL_READ,
WAIT_EVENT_WAL_SYNC,
WAIT_EVENT_WAL_SYNC_METHOD_ASSIGN,
- WAIT_EVENT_WAL_WRITE,
- WAIT_EVENT_LOGICAL_CHANGES_READ,
- WAIT_EVENT_LOGICAL_CHANGES_WRITE,
- WAIT_EVENT_LOGICAL_SUBXACT_READ,
- WAIT_EVENT_LOGICAL_SUBXACT_WRITE
+ WAIT_EVENT_WAL_WRITE
} WaitEventIO;