Re: Support to define custom wait events for extensions
Masahiro Ikeda <ikedamsh@oss.nttdata.com>
From: Masahiro Ikeda <ikedamsh@oss.nttdata.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2023-06-16T11:44:53Z
Lists: pgsql-hackers
On 2023-06-16 16:46, Michael Paquier wrote: > On Fri, Jun 16, 2023 at 11:14:05AM +0900, Masahiro Ikeda wrote: >> I tried to query on pg_stat_activity to check the background worker >> invoked by pg_prewarm. But, I found that pg_stat_activity doesn't show >> it although I may be missing something... >> >> So, I tried to implement TAP tests. But I have a problem with it. >> I couldn't find the way to check the status of another backend >> while the another backend wait with custom wait events. > > Hmm. Right. It seems to me that BGWORKER_BACKEND_DATABASE_CONNECTION > is required in this case, with BackgroundWorkerInitializeConnection() > to connect to a database (or not, like the logical replication > launcher if only access to shared catalogs is wanted). > > I have missed that the leader process of pg_prewarm does not use that, > because it has no need to connect to a database, but its workers do. > So it is not going to show up in pg_stat_activity. Yes. Thanks to your advice, I understood that BGWORKER_BACKEND_DATABASE_CONNECTION is the reason. I could make the TAP test that invokes a background worker waiting forever and checks its custom wait event in pg_stat_activity. So, I'll make patches including test codes next week. Regards, -- Masahiro Ikeda NTT DATA CORPORATION
Commits
-
Change custom wait events to use dynamic shared hash tables
- af720b4c50a1 17.0 landed
-
Support custom wait events for wait event type "Extension"
- c9af05465307 17.0 landed
-
Add WAIT_EVENT_{CLASS,ID}_MASK in wait_event.c
- 7395a90db87b 17.0 landed
-
worker_spi: Switch to TAP tests
- 320c311fda91 17.0 cited
-
Simplify some conditions related to [LW]Lock in generate-wait_event_types.pl
- c17164aec88c 17.0 landed