[sqlsmith] Failed assertion in parallel worker in ExecInitSubPlan
| От | Andreas Seltenreich |
|---|---|
| Тема | [sqlsmith] Failed assertion in parallel worker in ExecInitSubPlan |
| Дата | |
| Msg-id | 8737im6pmh.fsf@credativ.de обсуждение исходный текст |
| Ответы |
Re: [sqlsmith] Failed assertion in parallel worker in ExecInitSubPlan
|
| Список | pgsql-hackers |
Hi,
the query below triggers a parallel worker assertion for me when run on
the regression database of master as of 0832f2d. The plan sports a
couple of InitPlan nodes below Gather.
regards,
Andreas
Gather (cost=1.64..84.29 rows=128 width=4) Workers Planned: 1 Single Copy: true -> Limit (cost=1.64..84.29
rows=128width=4) -> Subquery Scan on subq_0 (cost=1.64..451.06 rows=696 width=4) Filter:
(subq_0.c6IS NOT NULL) -> Nested Loop Left Join (cost=1.64..444.07 rows=699 width=145)
Join Filter: (sample_0.aa = sample_1.pageno) InitPlan 4 (returns $3) -> Result
(cost=1.21..5.36 rows=15 width=0) One-Time Filter: ($0 AND ($1 = $2))
InitPlan 1 (returns $0) -> Result (cost=0.00..0.00 rows=0 width=0)
One-Time Filter: false InitPlan 2 (returns $1)
-> Limit (cost=0.35..0.52 rows=1 width=4) -> Gather (cost=0.00..1.04 rows=6
width=4) Workers Planned: 1 ->
ParallelSeq Scan on reltime_tbl (cost=0.00..1.04 rows=4 width=4) InitPlan 3 (returns $2)
-> Limit (cost=0.52..0.69 rows=1 width=4) -> Gather
(cost=0.00..1.04rows=6 width=4) Workers Planned: 1
-> Parallel Seq Scan on reltime_tbl reltime_tbl_1 (cost=0.00..1.04 rows=4 width=4)
-> Sample Scan on pg_foreign_data_wrapper sample_2 (cost=1.21..5.36 rows=15 width=0)
Sampling: system ('3.1'::real) -> Nested Loop (cost=0.15..382.85 rows=699 width=4)
-> Sample Scan on pg_largeobject sample_1 (cost=0.00..209.03 rows=699 width=8)
Sampling: bernoulli ('2.9'::real) Filter: (pageno IS NOT NULL)
-> Index Only Scan using pg_foreign_table_relid_index on pg_foreign_table ref_0 (cost=0.15..0.24 rows=1 width=4)
Index Cond: (ftrelid = sample_1.loid) -> Materialize (cost=0.00..16.06
rows=4width=4) -> Append (cost=0.00..16.04 rows=4 width=4) ->
Sample Scan on a sample_0 (cost=0.00..4.01 rows=1 width=4) Sampling: system
('5'::real) -> Sample Scan on b sample_0_1 (cost=0.00..4.01 rows=1 width=4)
Sampling: system ('5'::real) -> Sample Scan on c sample_0_2
(cost=0.00..4.01rows=1 width=4) Sampling: system ('5'::real)
-> Sample Scan on d sample_0_3 (cost=0.00..4.01 rows=1 width=4)
Sampling:system ('5'::real)
--8<---------------cut here---------------start------------->8---
set force_parallel_mode to on;
set max_parallel_workers_per_gather to 2;
select 91 as c0
from (select (select pfname from public.pslot limit 1 offset 3) as c0, ref_1.grandtot as c1,
(selectpg_catalog.min(procost) from pg_catalog.pg_proc) as c2, ref_0.ftoptions as c3,
ref_1.grandtotas c4, sample_1.loid as c5, pg_catalog.pg_rotate_logfile() as c6, (select random from
public.hash_i4_heaplimit 1 offset 5) as c7, sample_1.loid as c8 from public.a as sample_0
tablesamplesystem (5) right join pg_catalog.pg_largeobject as sample_1 tablesample bernoulli (2.9)
inner join pg_catalog.pg_foreign_table as ref_0 on (sample_1.loid = ref_0.ftrelid ) on
(sample_0.aa= sample_1.pageno ) left join public.mvtest_tvv as ref_1 on (EXISTS ( select
sample_2.fdwoptions as c0, sample_2.fdwhandler as c1, (select during from
public.test_range_excllimit 1 offset 89) as c2 from
pg_catalog.pg_foreign_data_wrapperas sample_2 tablesample system (3.1) where (EXISTS (
select sample_3.b as c0, (select grantee from
information_schema.udt_privilegeslimit 1 offset 4) as c1, sample_3.b as
c2, sample_3.rf_a as c3, sample_3.b as c4,
sample_3.rf_aas c5, sample_3.rf_a as c6 from
public.clstr_tst_sas sample_3 tablesample system (8.1) where sample_3.rf_a >= cast(null as int8)
limit 141)) and ((select f1 from public.reltime_tbl limit 1 offset 2)
= (select f1 from public.reltime_tbl limit 1 offset 3) ) limit 49)) where
sample_1.pagenois not NULL) as subq_0
where subq_0.c6 is not NULL
limit 128;
--8<---------------cut here---------------end--------------->8---
В списке pgsql-hackers по дате отправления: