mirror of
https://github.com/apache/impala.git
synced 2026-01-31 09:00:19 -05:00
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>
151 lines
1.5 KiB
Plaintext
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
|
|
==== |