mirror of
https://github.com/postgres/postgres.git
synced 2025-04-25 21:42:33 +03:00
Add wait events for checkpoint delay mechanism.
When MyProc->delayChkptFlags is set to temporarily block phase transitions in a concurrent checkpoint, the checkpointer enters a sleep-poll loop to wait for the flag to be cleared. We should show that as a wait event in the pg_stat_activity view. Reviewed-by: Robert Haas <robertmhaas@gmail.com> Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion: https://postgr.es/m/CA%2BhUKGL7Whi8iwKbzkbn_1fixH3Yy8aAPz7mfq6Hpj7FeJrKMg%40mail.gmail.com
This commit is contained in:
parent
7e1f544827
commit
0013ba290b
@ -6737,7 +6737,9 @@ CreateCheckPoint(int flags)
|
||||
{
|
||||
do
|
||||
{
|
||||
pgstat_report_wait_start(WAIT_EVENT_CHECKPOINT_DELAY_START);
|
||||
pg_usleep(10000L); /* wait for 10 msec */
|
||||
pgstat_report_wait_end();
|
||||
} while (HaveVirtualXIDsDelayingChkpt(vxids, nvxids,
|
||||
DELAY_CHKPT_START));
|
||||
}
|
||||
@ -6750,7 +6752,9 @@ CreateCheckPoint(int flags)
|
||||
{
|
||||
do
|
||||
{
|
||||
pgstat_report_wait_start(WAIT_EVENT_CHECKPOINT_DELAY_COMPLETE);
|
||||
pg_usleep(10000L); /* wait for 10 msec */
|
||||
pgstat_report_wait_end();
|
||||
} while (HaveVirtualXIDsDelayingChkpt(vxids, nvxids,
|
||||
DELAY_CHKPT_COMPLETE));
|
||||
}
|
||||
|
@ -97,6 +97,8 @@ BGWORKER_SHUTDOWN "Waiting for background worker to shut down."
|
||||
BGWORKER_STARTUP "Waiting for background worker to start up."
|
||||
BTREE_PAGE "Waiting for the page number needed to continue a parallel B-tree scan to become available."
|
||||
BUFFER_IO "Waiting for buffer I/O to complete."
|
||||
CHECKPOINT_DELAY_COMPLETE "Waiting for a backend that blocks a checkpoint from completing."
|
||||
CHECKPOINT_DELAY_START "Waiting for a backend that blocks a checkpoint from starting."
|
||||
CHECKPOINT_DONE "Waiting for a checkpoint to complete."
|
||||
CHECKPOINT_START "Waiting for a checkpoint to start."
|
||||
EXECUTE_GATHER "Waiting for activity from a child process while executing a <literal>Gather</literal> plan node."
|
||||
|
Loading…
x
Reference in New Issue
Block a user