From 6c5c393b74031351721f8a44e55bfaf6f249eefb Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Wed, 3 Dec 2025 18:38:20 -0500 Subject: Rename BUFFERPIN wait event class to BUFFER In an upcoming patch more wait events will be added to the wait event class (for buffer locking), making the current name too specific. Alternatively we could introduce a dedicated wait event class for those, but it seems somewhat confusing to have a BUFFERPIN and a BUFFER wait event class. Reviewed-by: Melanie Plageman Discussion: https://postgr.es/m/fvfmkr5kk4nyex56ejgxj3uzi63isfxovp2biecb4bspbjrze7@az2pljabhnff --- src/backend/storage/buffer/bufmgr.c | 2 +- src/backend/storage/ipc/standby.c | 2 +- src/backend/utils/activity/wait_event.c | 12 ++++++------ src/backend/utils/activity/wait_event_names.txt | 6 +++--- src/include/utils/wait_classes.h | 2 +- src/test/recovery/t/048_vacuum_horizon_floor.pl | 2 +- src/test/regress/expected/sysviews.out | 2 +- src/tools/pgindent/typedefs.list | 2 +- 8 files changed, 15 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 00d9a23b675..62f420dd344 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -5799,7 +5799,7 @@ LockBufferForCleanup(Buffer buffer) SetStartupBufferPinWaitBufId(-1); } else - ProcWaitForSignal(WAIT_EVENT_BUFFER_PIN); + ProcWaitForSignal(WAIT_EVENT_BUFFER_CLEANUP); /* * Remove flag marking us as waiter. Normally this will not be set diff --git a/src/backend/storage/ipc/standby.c b/src/backend/storage/ipc/standby.c index 4222bdab078..fc45d72c79b 100644 --- a/src/backend/storage/ipc/standby.c +++ b/src/backend/storage/ipc/standby.c @@ -840,7 +840,7 @@ ResolveRecoveryConflictWithBufferPin(void) * SIGHUP signal handler, etc cannot do that because it uses the different * latch from that ProcWaitForSignal() waits on. */ - ProcWaitForSignal(WAIT_EVENT_BUFFER_PIN); + ProcWaitForSignal(WAIT_EVENT_BUFFER_CLEANUP); if (got_standby_delay_timeout) SendRecoveryConflictWithBufferPin(PROCSIG_RECOVERY_CONFLICT_BUFFERPIN); diff --git a/src/backend/utils/activity/wait_event.c b/src/backend/utils/activity/wait_event.c index d9b8f34a355..96d61f77f6e 100644 --- a/src/backend/utils/activity/wait_event.c +++ b/src/backend/utils/activity/wait_event.c @@ -29,7 +29,7 @@ static const char *pgstat_get_wait_activity(WaitEventActivity w); -static const char *pgstat_get_wait_bufferpin(WaitEventBufferPin w); +static const char *pgstat_get_wait_buffer(WaitEventBuffer w); static const char *pgstat_get_wait_client(WaitEventClient w); static const char *pgstat_get_wait_ipc(WaitEventIPC w); static const char *pgstat_get_wait_timeout(WaitEventTimeout w); @@ -389,8 +389,8 @@ pgstat_get_wait_event_type(uint32 wait_event_info) case PG_WAIT_LOCK: event_type = "Lock"; break; - case PG_WAIT_BUFFERPIN: - event_type = "BufferPin"; + case PG_WAIT_BUFFER: + event_type = "Buffer"; break; case PG_WAIT_ACTIVITY: event_type = "Activity"; @@ -453,11 +453,11 @@ pgstat_get_wait_event(uint32 wait_event_info) case PG_WAIT_INJECTIONPOINT: event_name = GetWaitEventCustomIdentifier(wait_event_info); break; - case PG_WAIT_BUFFERPIN: + case PG_WAIT_BUFFER: { - WaitEventBufferPin w = (WaitEventBufferPin) wait_event_info; + WaitEventBuffer w = (WaitEventBuffer) wait_event_info; - event_name = pgstat_get_wait_bufferpin(w); + event_name = pgstat_get_wait_buffer(w); break; } case PG_WAIT_ACTIVITY: diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/utils/activity/wait_event_names.txt index c1ac71ff7f2..1e5e368a5dc 100644 --- a/src/backend/utils/activity/wait_event_names.txt +++ b/src/backend/utils/activity/wait_event_names.txt @@ -279,12 +279,12 @@ WAL_WRITE "Waiting for a write to a WAL file." ABI_compatibility: # -# Wait Events - Buffer Pin +# Wait Events - Buffer # -Section: ClassName - WaitEventBufferPin +Section: ClassName - WaitEventBuffer -BUFFER_PIN "Waiting to acquire an exclusive pin on a buffer." +BUFFER_CLEANUP "Waiting to acquire an exclusive pin on a buffer. Buffer pin waits can be protracted if another process holds an open cursor that last read data from the buffer in question." ABI_compatibility: diff --git a/src/include/utils/wait_classes.h b/src/include/utils/wait_classes.h index 51ee68397d5..57888aa62f7 100644 --- a/src/include/utils/wait_classes.h +++ b/src/include/utils/wait_classes.h @@ -17,7 +17,7 @@ */ #define PG_WAIT_LWLOCK 0x01000000U #define PG_WAIT_LOCK 0x03000000U -#define PG_WAIT_BUFFERPIN 0x04000000U +#define PG_WAIT_BUFFER 0x04000000U #define PG_WAIT_ACTIVITY 0x05000000U #define PG_WAIT_CLIENT 0x06000000U #define PG_WAIT_EXTENSION 0x07000000U diff --git a/src/test/recovery/t/048_vacuum_horizon_floor.pl b/src/test/recovery/t/048_vacuum_horizon_floor.pl index 668eedd71b2..9cdf6cee8a7 100644 --- a/src/test/recovery/t/048_vacuum_horizon_floor.pl +++ b/src/test/recovery/t/048_vacuum_horizon_floor.pl @@ -194,7 +194,7 @@ $node_primary->poll_query_until( qq[ SELECT count(*) >= 1 FROM pg_stat_activity WHERE pid = $vacuum_pid - AND wait_event = 'BufferPin'; + AND wait_event = 'BufferCleanup'; ], 't'); diff --git a/src/test/regress/expected/sysviews.out b/src/test/regress/expected/sysviews.out index 3b37fafa65b..0411db832f1 100644 --- a/src/test/regress/expected/sysviews.out +++ b/src/test/regress/expected/sysviews.out @@ -182,7 +182,7 @@ select type, count(*) > 0 as ok FROM pg_wait_events type | ok -----------+---- Activity | t - BufferPin | t + Buffer | t Client | t Extension | t IO | t diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list index abcb3c4c4cc..c1ad80a418d 100644 --- a/src/tools/pgindent/typedefs.list +++ b/src/tools/pgindent/typedefs.list @@ -3270,7 +3270,7 @@ WSANETWORKEVENTS WSAPROTOCOL_INFO WaitEvent WaitEventActivity -WaitEventBufferPin +WaitEventBuffer WaitEventClient WaitEventCustomCounterData WaitEventCustomEntryByInfo -- cgit v1.2.3