Re: Draft for basic NUMA observability

From: Tomas Vondra <tomas(at)vondra(dot)me>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Kirill Reshke <reshkekirill(at)gmail(dot)com>, Jakub Wartak <jakub(dot)wartak(at)enterprisedb(dot)com>, Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Draft for basic NUMA observability
Date: 2025-04-09 12:07:41
Message-ID: 71d9b91d-fbfb-4a1a-84c7-5bb82fbc3df3@vondra.me
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 4/9/25 01:29, Andres Freund wrote:
> Hi,
>
> On 2025-04-09 01:10:09 +0200, Tomas Vondra wrote:
>> On 4/8/25 15:06, Andres Freund wrote:
>>> Hi,
>>>
>>> On 2025-04-08 17:44:19 +0500, Kirill Reshke wrote:
>>>> On Mon, 7 Apr 2025 at 23:00, Tomas Vondra <tomas(at)vondra(dot)me> wrote:
>>>>> I'll let the CI run the tests on it, and
>>>>> then will push, unless someone has more comments.
>>>>>
>>>>
>>>>
>>>> Hi! I noticed strange failure after this commit[0]
>>>>
>>>> Looks like it is related to 65c298f61fc70f2f960437c05649f71b862e2c48
>>>>
>>>> In file included from [01m [K../pgsql/src/include/postgres.h:49 [m [K,
>>>> from [01m [K../pgsql/src/port/pg_numa.c:16 [m [K:
>>>> [01m [K../pgsql/src/include/utils/elog.h:79:10: [m [K
>>>> [01;31m [Kfatal error: [m [Kutils/errcodes.h: No such file or
>>>> directory
>>>> 79 | #include [01;31m [K"utils/errcodes.h" [m [K
>>>> | [01;31m [K^~~~~~~~~~~~~~~~~~ [m [K
>>>> compilation terminated.
>>>
>>> $ ninja -t missingdeps
>>> Missing dep: src/port/libpgport.a.p/pg_numa.c.o uses src/include/utils/errcodes.h (generated by CUSTOM_COMMAND)
>>> Missing dep: src/port/libpgport_shlib.a.p/pg_numa.c.o uses src/include/utils/errcodes.h (generated by CUSTOM_COMMAND)
>>> Processed 2384 nodes.
>>> Error: There are 2 missing dependency paths.
>>> 2 targets had depfile dependencies on 1 distinct generated inputs (from 1 rules) without a non-depfile dep path to the generator.
>>> There might be build flakiness if any of the targets listed above are built alone, or not late enough, in a clean output directory.
>>>
>>
>> Wouldn't it be good to add this (ninja -t missingdeps) to the CI task? I
>> ran those tests many times, and had it failed at least once I'd have
>> fixed it before commit.
>
> Yes, we should. It's a somewhat newer feature, so we originally couldn't.
> There only was a very clunky and slow python script when I was doing most of
> the meson work.
>
> I was actually thinking that it might make sense as a meson-registered test,
> that way one quickly can find the issue both locally and on CI.
>

OK, here are two patches, where 0001 adds the missingdeps check to the
Debian meson build. It just adds that to the build script.

0002 leaves the NUMA stuff in src/port (i.e. it's no longer moved to
src/backend/port). It still needs to include c.h because of PGDLLIMPORT,
but I think that's fine.

regards

--
Tomas Vondra

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2025-04-09 12:08:35 Re: Draft for basic NUMA observability
Previous Message Tender Wang 2025-04-09 11:51:10 Consistently use macro HeapTupleIsValid to check the validity of tuples in tablecmds.c