Re: verify predefined LWLocks have entries in wait_event_names.txt - Mailing list pgsql-hackers

From Nathan Bossart
Subject Re: verify predefined LWLocks have entries in wait_event_names.txt
Date
Msg-id 20240105164203.GC2168314@nathanxps13
Whole thread Raw
In response to Re: verify predefined LWLocks have entries in wait_event_names.txt  (Bertrand Drouvot <bertranddrouvot.pg@gmail.com>)
Responses Re: verify predefined LWLocks have entries in wait_event_names.txt
List pgsql-hackers
Thanks for reviewing.

On Fri, Jan 05, 2024 at 07:39:39AM +0000, Bertrand Drouvot wrote:
> Another option could be to create a sub-section for predefined LWLocks that are
> part of lwlocknames.txt and then sort both list (the one in the sub-section and
> the one in lwlocknames.txt). That would avoid the "must be listed in the same order"
> constraint. That said, I think the way it is done in the patch is fine because
> if one does not follow the constraint then the build would fail.

IMHO the ordering constraint makes it easier for humans to verify the lists
match.

> +       die "lists of predefined LWLocks in lwlocknames.txt and wait_event_names.txt do not match"
> +         unless $wait_event_lwlocks[$i] eq $lockname;
> 
> What about printing $wait_event_lwlocks[$i] and $lockname in the error message?
> Something like?
> 
> "
>     die "lists of predefined LWLocks in lwlocknames.txt and wait_event_names.txt do not match (comparing $lockname
and$wait_event_lwlocks[$i])"
 
>       unless $wait_event_lwlocks[$i] eq $lockname;
> "
> 
> I think that would give more clues for debugging purpose.

Sure, I'll add something like that.  I think this particular scenario is
less likely, but that's not a reason to make the error message hard to
decipher.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com



pgsql-hackers by date:

Previous
From: Nathan Bossart
Date:
Subject: Re: Adding facility for injection points (or probe points?) for more advanced tests
Next
From: Tom Lane
Date:
Subject: Re: Add new protocol message to change GUCs for usage with future protocol-only GUCs