| 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: | Whole Thread | Raw Message | 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
| 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 |