Re: [Bugg hash join and parallel worker]

From: Andrei Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru>
To: "GADACHA Rachid (Acoss)" <rachid(dot)gadacha(at)acoss(dot)fr>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: [Bugg hash join and parallel worker]
Date: 2024-02-28 15:29:05
Message-ID: 26034d51-1ca3-498b-83e6-d2f3d3c643c7@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 28/2/2024 21:50, GADACHA Rachid (Acoss) wrote:
> Hello,
>
> We encounter an error when we join 2 subqueries with large tables like
> below.
>
> *The query*
>
>
> SELECT  count(*)  FROM (select anod_siret_decl,anod_mpd,anod_frac
>
>              from dsn_anomalies.dsn_ano_camp_ctr c
>
>                       join dsn_anomalies.dsn_ano_rel_camp darc on
> c.camp_it = darc.camp_it
>
>                       join dsn_anomalies.dsn_ano_anomalie on
> darc.ano_it = dsn_ano_anomalie.ano_it
>
>                       join dsn_anomalies.dsn_ano_decl d on c.anod_it =
> d.anod_it
>
>                       join dsn_anomalies.dsn_ano_statut_anomalie
>
>                            on
> dsn_anomalies.dsn_ano_statut_anomalie.sta_it =
>
>                               (select
> dsn_anomalies.dsn_ano_statut_anomalie.sta_it
>
>                                from dsn_anomalies.dsn_ano_statut_anomalie
>
>                                where
> dsn_anomalies.dsn_ano_statut_anomalie.ano_it =
>
>                                      dsn_anomalies.dsn_ano_anomalie.ano_it
>
>                                order by
> dsn_anomalies.dsn_ano_statut_anomalie.sta_ts_crea desc
>
>                                limit 1)
>
>              where c.camp_cd_ctx_exec = '7_FLUX_DSNDI'
>
>                and sta_cd_statut = 'DEPOT') a
>
>                 join (select anod_siret_decl,camp_dt_mois_ctrl,anod_frac
>
>                       from dsn_anomalies.dsn_ano_camp_ctr c
>
>                                join dsn_anomalies.dsn_ano_decl d
>
>                                     on c.anod_it = d.anod_it
>
>                       where c.camp_cd_ctx_exec =
> '10_DSNDADI_EXIGIBILITE') b
>
>                      on (a.anod_siret_decl, a.anod_mpd, a.anod_frac) =
>
>                         (b.anod_siret_decl, b.camp_dt_mois_ctrl,
> b.anod_frac);
>
> *The error*
>
> *ERROR:  invalid DSA memory alloc request size 1811939328*
>
> *CONTEXT:  parallel worker*
>
> **
>
> *The work arround*
>
> *enable_parallel_hash=off*
>
> **
>
> Context
>
> *Version postgresql :* PostgreSQL 13.2 on x86_64-koji-linux-gnu,
> compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3), 64-bit
>
> *OS VERSION :* CentOS release 6.10 (Final)

Yeah, we already had the report likewise yours.
Could you provide some reproduction to see what had happened? Or, at
least, a coredump? backtrace?

--
regards,
Andrei Lepikhov
Postgres Professional

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2024-02-28 16:29:59 Re: [Bugg hash join and parallel worker]
Previous Message GADACHA Rachid (Acoss) 2024-02-28 14:50:28 [Bugg hash join and parallel worker]