]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Move WAIT_FOR_WAL_* wait events from Client to IPC class
authorAlexander Korotkov <akorotkov@postgresql.org>
Wed, 8 Jul 2026 17:44:22 +0000 (20:44 +0300)
committerAlexander Korotkov <akorotkov@postgresql.org>
Wed, 8 Jul 2026 17:59:30 +0000 (20:59 +0300)
WAIT_FOR_WAL_FLUSH, WAIT_FOR_WAL_REPLAY, and WAIT_FOR_WAL_WRITE were
placed in the WaitEventClient class.  But WaitEventClient is about
waiting for a socket to become readable or writable, while these events
have other delay sources as well: local fsync and local replay, which
may be disk- or CPU-bound.  WaitEventIPC is a better fit, so move them
there.

Reported-by: Noah Misch <noah@leadboat.com>
Discussion: https://postgr.es/m/20260706012642.f9.noahmisch@microsoft.com
Backpatch-through: 19

src/backend/utils/activity/wait_event_names.txt

index 560659f9568563cfeac8821a6c3e72b42292eb83..1016502d042eb7bafd84cf485a8395fa374cf946 100644 (file)
@@ -89,9 +89,6 @@ LIBPQWALRECEIVER_CONNECT      "Waiting in WAL receiver to establish connection to rem
 LIBPQWALRECEIVER_RECEIVE       "Waiting in WAL receiver to receive data from remote server."
 SSL_OPEN_SERVER        "Waiting for SSL while attempting connection."
 WAIT_FOR_STANDBY_CONFIRMATION  "Waiting for WAL to be received and flushed by the physical standby."
-WAIT_FOR_WAL_FLUSH     "Waiting for WAL flush to reach a target LSN on a primary or standby."
-WAIT_FOR_WAL_REPLAY    "Waiting for WAL replay to reach a target LSN on a standby."
-WAIT_FOR_WAL_WRITE     "Waiting for WAL write to reach a target LSN on a standby."
 WAL_SENDER_WAIT_FOR_WAL        "Waiting for WAL to be flushed in WAL sender process."
 WAL_SENDER_WRITE_DATA  "Waiting for any activity when processing replies from WAL receiver in WAL sender process."
 
@@ -162,6 +159,9 @@ REPLICATION_SLOT_DROP       "Waiting for a replication slot to become inactive so it c
 RESTORE_COMMAND        "Waiting for <xref linkend="guc-restore-command"/> to complete."
 SAFE_SNAPSHOT  "Waiting to obtain a valid snapshot for a <literal>READ ONLY DEFERRABLE</literal> transaction."
 SYNC_REP       "Waiting for confirmation from a remote server during synchronous replication."
+WAIT_FOR_WAL_FLUSH     "Waiting for WAL flush to reach a target LSN on a primary or standby."
+WAIT_FOR_WAL_REPLAY    "Waiting for WAL replay to reach a target LSN on a standby."
+WAIT_FOR_WAL_WRITE     "Waiting for WAL write to reach a target LSN on a standby."
 WAL_RECEIVER_EXIT      "Waiting for the WAL receiver to exit."
 WAL_RECEIVER_WAIT_START        "Waiting for startup process to send initial data for streaming replication."
 WAL_SUMMARY_READY      "Waiting for a new WAL summary to be generated."