Thread

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

    Kirk Wolak <wolakk@gmail.com> — 2024-01-19T22:09:02Z

    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)