parallel not working

Started by huangning290@yahoo.comover 3 years ago2 messages
#1huangning290@yahoo.com
huangning290@yahoo.com
1 attachment(s)

Hi:
I write a  C function, the function is as follows:
create function st_geosotgrid(geom geometry, level integer) returns geosotgrid[]
immutable
strict
parallel safe
language c
as
$$
begin
-- missing source code
end;
$$;

At the same time, I set the relevant parameters:
force_parallel_mode: offmax_parallel_maintenance_workers: 4max_parallel_workers: 8max_parallel_workers_per_gather: 2max_worker_processes: 8min_parallel_index_scan_size: 64min_parallel_table_scan_size: 1024parallel_leader_participation: on
set parallel_setup_cost = 10;set parallel_tuple_cost = 0.001;

sql:
select st_geosotgrid(geom,20) from t_polygon_gis;

and the explain as follows:

Gather  (cost=10.00..5098.67 rows=200000 width=32)  Workers Planned: 2  ->  Parallel Seq Scan on t_polygon_gis  (cost=0.00..4888.67 rows=83333 width=32)

when i explain analyze ,the parallel worker is suspend:

I would like to know how can I get it to work properly?

Thank You!

Attachments:

1652790248334blob.jpgimage/pngDownload
#2Robert Haas
robertmhaas@gmail.com
In reply to: huangning290@yahoo.com (#1)
Re: parallel not working

On Thu, May 19, 2022 at 8:05 AM huangning290@yahoo.com <
huangning290@yahoo.com> wrote:

I would like to know how can I get it to work properly?

I suppose you have a bug in your C code. Try hooking up a debugger to one
of the sessions that is hung and see what it's doing e.g.

gdb -p 26130
bt

--
Robert Haas
EDB: http://www.enterprisedb.com