Re: verify predefined LWLocks have entries in wait_event_names.txt

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Nathan Bossart <nathandbossart(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, Michael Paquier <michael(at)paquier(dot)xyz>
Subject: Re: verify predefined LWLocks have entries in wait_event_names.txt
Date: 2024-01-02 18:13:16
Message-ID: CA+TgmoYRhhL12iOcNKv6f__iZMk1_BPgbASFykPazhr_bwk0=w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jan 2, 2024 at 12:31 PM Nathan Bossart <nathandbossart(at)gmail(dot)com> wrote:
> I think we're supposed to omit the "Lock" suffix in wait_event_names.txt.

Ugh, sorry. But also, why in the world?

> > It seems like it would be good if there were an automated cross-check
> > between lwlocknames.txt and wait_event_names.txt.
>
> +1. Here's a hastily-thrown-together patch for that. I basically copied
> 003_check_guc.pl and adjusted it for this purpose. This test only checks
> that everything in lwlocknames.txt has a matching entry in
> wait_event_names.txt. It doesn't check that everything in the predefined
> LWLock section of wait_event_names.txt has an entry in lwlocknames.txt.
> AFAICT that would be a little more difficult because you can't distinguish
> between the two in pg_wait_events.
>
> Even with this test, I worry that we could easily forget to add entries in
> wait_event_names.txt for the non-predefined locks, but I don't presently
> have a proposal for how to prevent that.

It certainly seems better to check what we can than to check nothing.

Suggestions:

- Check in both directions instead of just one?

- Verify ordering?

--
Robert Haas
EDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2024-01-02 18:17:15 Re: Things I don't like about \du's "Attributes" column
Previous Message Andrey M. Borodin 2024-01-02 18:10:04 Re: SLRU optimization - configurable buffer pool and partitioning the SLRU lock