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;
 
 

Reply via email to