Re: Oom on temp (un-analyzed table caused by JIT) V16.1 [Fixed Already]

Поиск
Список
Период
Сортировка
От Kirk Wolak
Тема Re: Oom on temp (un-analyzed table caused by JIT) V16.1 [Fixed Already]
Дата
Msg-id CACLU5mSj_YA0wYCjvWTxY=ZtqWaUJ4D=BSNaUiTY_RDkFDLqqg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Oom on temp (un-analyzed table caused by JIT) V16.1 [Fixed Already]  (Laurenz Albe <laurenz.albe@cybertec.at>)
Ответы Re: Oom on temp (un-analyzed table caused by JIT) V16.1 [Fixed Already]  (Daniel Gustafsson <daniel@yesql.se>)
Список pgsql-hackers
On Fri, Jan 19, 2024 at 4:20 AM Laurenz Albe <laurenz.albe@cybertec.at> wrote:
On Thu, 2024-01-18 at 19:50 -0500, Kirk Wolak wrote:
>   I did a little more checking and the reason I did not see the link MIGHT be because EXPLAIN did not show a JIT attempt.
> I tried to use settings that FORCE a JIT...  But to no avail.
>
>   I am now concerned that the problem is more hidden in my use case.  Meaning I CANNOT conclude it is fixed.
> But I know of NO WAY to force a JIT (I lowered costs to 1, etc.  ).
>
>   You don't know a way to force at least the JIT analysis to happen?  (because I already knew if JIT was off, the leak wouldn't happen). 

If you set the limits to 0, you can trigger it easily:

SET jit = on;
SET jit_above_cost = 0;
SET jit_inline_above_cost = 0;
SET jit_optimize_above_cost = 0;

Okay,
  I Did exactly this (just now).  But the EXPLAIN does not contain the JIT?

-------------------------------------------------------------------------------
 Sort  (cost=5458075.88..5477861.00 rows=7914047 width=12)
   Sort Key: seid
   ->  HashAggregate  (cost=3910139.62..4280784.00 rows=7914047 width=12)
         Group Key: seid, fr_field_name, st_field_name
         Planned Partitions: 128
         ->  Seq Scan on parts  (cost=0.00..1923249.00 rows=29850000 width=12)
               Filter: ((seid <> 497) AND ((partnum)::text >= '1'::text))
(7 rows)
 
From a FUTURE email, I noticed pg_jit_available()

and it's set to f??

Okay, so does this require a special BUILD command?

postgres=# select pg_jit_available();
 pg_jit_available
------------------
 f
(1 row)

postgres=# \dconfig *jit*
 List of configuration parameters
        Parameter        |  Value  
-------------------------+---------
 jit                     | on
 jit_above_cost          | 100000
 jit_debugging_support   | off
 jit_dump_bitcode        | off
 jit_expressions         | on
 jit_inline_above_cost   | 500000
 jit_optimize_above_cost | 500000
 jit_profiling_support   | off
 jit_provider            | llvmjit
 jit_tuple_deforming     | on
(10 rows)

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Nathan Bossart
Дата:
Сообщение: cleanup patches for dshash
Следующее
От: Tomas Vondra
Дата:
Сообщение: Re: index prefetching