Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 4.0.0
-
None
-
None
-
ghx-label-1
Description
IMPALA-8830 introduce the ability of executing trivail queries regardless the healthness of executor groups. Coordinatory only query judgment logic controls that whether a quer is trivail query or not. It take the query ExecRequest and check the plan only contains a single unpartitioned fragment. But join builder is scheduled at a separated fragment and colocated with join node after IMPALA-4224, in this case a query plan will contain two PlenExecInfo. I think the coorinator only judgment logic should also check the jon build side of the total execution plan.
Here is a bad case with query option MT_DOP>0:
SELECT STRAIGHT_JOIN * // Add straight_join hint to disable optimization FROM ( SELECT '20210831' AS ts UNION ALL SELECT '20210901' AS ts UNION ALL SELECT '20210902' AS ts UNION ALL SELECT '20210903' AS ts ) t1 CROSS JOIN tpch.lineitem t2 LIMIT 100;
In debug build this query will fail and got core dump at hit the DECHECK at
/be/src/scheduling/scheduler.cc#L162
DCHECK(executor_config.group.NumExecutors() > 0 || exec_at_coord);
In release build this query will fail with message "Scheduling for executor group: empty group
(using coordinator only) with 0 executors"