Add wait events for WAL archive and recovery pause.
This commit introduces new wait events BackupWaitWalArchive and RecoveryPause. The former is reported while waiting for the WAL files required for the backup to be successfully archived. The latter is reported while waiting for recovery in pause state to be resumed. Author: Fujii Masao Reviewed-by: Michael Paquier, Atsushi Torikoshi, Robert Haas Discussion: https://postgr.es/m/f0651f8c-9c96-9f29-0ff9-80414a15308a@oss.nttdata.com
This commit is contained in:
parent
76df765e88
commit
b8e20d6dab
|
@ -1339,7 +1339,11 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
|||
<entry>Waiting in an extension.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry morerows="36"><literal>IPC</literal></entry>
|
||||
<entry morerows="38"><literal>IPC</literal></entry>
|
||||
<entry><literal>BackupWaitWalArchive</literal></entry>
|
||||
<entry>Waiting for WAL files required for the backup to be successfully archived.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>BgWorkerShutdown</literal></entry>
|
||||
<entry>Waiting for background worker to shut down.</entry>
|
||||
</row>
|
||||
|
@ -1471,6 +1475,10 @@ postgres 27093 0.0 0.0 30096 2752 ? Ss 11:34 0:00 postgres: ser
|
|||
<entry><literal>Promote</literal></entry>
|
||||
<entry>Waiting for standby promotion.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>RecoveryPause</literal></entry>
|
||||
<entry>Waiting for recovery to be resumed.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal>ReplicationOriginDrop</literal></entry>
|
||||
<entry>Waiting for a replication origin to become inactive to be dropped.</entry>
|
||||
|
|
|
@ -5946,7 +5946,9 @@ recoveryPausesHere(void)
|
|||
|
||||
while (RecoveryIsPaused())
|
||||
{
|
||||
pgstat_report_wait_start(WAIT_EVENT_RECOVERY_PAUSE);
|
||||
pg_usleep(1000000L); /* 1000 ms */
|
||||
pgstat_report_wait_end();
|
||||
HandleStartupProcInterrupts();
|
||||
}
|
||||
}
|
||||
|
@ -11146,7 +11148,9 @@ do_pg_stop_backup(char *labelfile, bool waitforarchive, TimeLineID *stoptli_p)
|
|||
reported_waiting = true;
|
||||
}
|
||||
|
||||
pgstat_report_wait_start(WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE);
|
||||
pg_usleep(1000000L);
|
||||
pgstat_report_wait_end();
|
||||
|
||||
if (++waits >= seconds_before_warning)
|
||||
{
|
||||
|
|
|
@ -3682,6 +3682,9 @@ pgstat_get_wait_ipc(WaitEventIPC w)
|
|||
|
||||
switch (w)
|
||||
{
|
||||
case WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE:
|
||||
event_name = "BackupWaitWalArchive";
|
||||
break;
|
||||
case WAIT_EVENT_BGWORKER_SHUTDOWN:
|
||||
event_name = "BgWorkerShutdown";
|
||||
break;
|
||||
|
@ -3781,6 +3784,9 @@ pgstat_get_wait_ipc(WaitEventIPC w)
|
|||
case WAIT_EVENT_PROMOTE:
|
||||
event_name = "Promote";
|
||||
break;
|
||||
case WAIT_EVENT_RECOVERY_PAUSE:
|
||||
event_name = "RecoveryPause";
|
||||
break;
|
||||
case WAIT_EVENT_REPLICATION_ORIGIN_DROP:
|
||||
event_name = "ReplicationOriginDrop";
|
||||
break;
|
||||
|
|
|
@ -798,7 +798,8 @@ typedef enum
|
|||
*/
|
||||
typedef enum
|
||||
{
|
||||
WAIT_EVENT_BGWORKER_SHUTDOWN = PG_WAIT_IPC,
|
||||
WAIT_EVENT_BACKUP_WAIT_WAL_ARCHIVE = PG_WAIT_IPC,
|
||||
WAIT_EVENT_BGWORKER_SHUTDOWN,
|
||||
WAIT_EVENT_BGWORKER_STARTUP,
|
||||
WAIT_EVENT_BTREE_PAGE,
|
||||
WAIT_EVENT_CLOG_GROUP_UPDATE,
|
||||
|
@ -831,6 +832,7 @@ typedef enum
|
|||
WAIT_EVENT_PARALLEL_FINISH,
|
||||
WAIT_EVENT_PROCARRAY_GROUP_UPDATE,
|
||||
WAIT_EVENT_PROMOTE,
|
||||
WAIT_EVENT_RECOVERY_PAUSE,
|
||||
WAIT_EVENT_REPLICATION_ORIGIN_DROP,
|
||||
WAIT_EVENT_REPLICATION_SLOT_DROP,
|
||||
WAIT_EVENT_SAFE_SNAPSHOT,
|
||||
|
|
Loading…
Reference in New Issue