Files
impala/testdata/workloads/functional-query/queries/QueryTest/mt-dop.test
guojingfeng b0b6e11f53 IMPALA-10970: Fix criterion for classifying coordinator only query
This patch fixes a bug in the criterion which decided whether a query
can be considered as a coordinator only query. It did not consider
the possibility of parallel plans and ended up mis-classifying some
queries as coordinator only queries.

This classification was used during scheduling when dedicated
coordinators and executor groups are used and allowed coordinator
queries to be scheduled only on the coordinator even in the absence
of healthy executor groups.

As a result of this bug, queries classified wrongly ended up with
error code: NO_REGISTERED_BACKENDS.

Testing:
- Add new mt_dop test case for functional_query and pass
- Ran and passed custom_cluster/test_coordinators, test_executor_groups

Change-Id: Icaaf1f1ba7a976122b4d37bd675e6d8181dc8700
Reviewed-on: http://gerrit.cloudera.org:8080/17937
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Reviewed-by: Bikramjeet Vig <bikramjeet.vig@cloudera.com>
2021-11-30 20:13:18 +00:00

151 lines
1.5 KiB
Plaintext

====
---- QUERY
# IMPALA-4285: Test scan with no materialized slots.
select count(*) from alltypes
---- RESULTS
7300
---- TYPES
BIGINT
====
---- QUERY
# IMPALA-4565: incorrect results because mt scan node does not set eos
# correctly and sort node only gets the first row batch.
set batch_size=1;
select id
from alltypestiny
order by id
---- TYPES
int
---- RESULTS
0
1
2
3
4
5
6
7
====
---- QUERY
# IMPALA-10970: Verify that a query plan containing 2 parallel plans
# with the first one having a single unpartitioned fragment is
# correctly classified as not being a coordinator only query. This
# query create a plan with the aforementioned condition and has a
# join build fragment that will be co-located with the root sink
# fragment(IMPALMA-4224). This ensures that the query fails to
# schedule and eventually times out in the queue if incorrectly
# classified as a coordinator only query.
# To ensure the inline left table placed at join probe side, we add
# STRAIGHT_JOIN hint to disable join inversion optimization.
SELECT STRAIGHT_JOIN t2.int_col
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 functional.alltypes t2
LIMIT 100;
---- RESULTS
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
---- TYPES
INT
====