You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Aman Sinha (JIRA)" <ji...@apache.org> on 2015/01/07 03:58:35 UTC
[jira] [Created] (DRILL-1946) Wrong result for aggregation query
with lower slice_target
Aman Sinha created DRILL-1946:
---------------------------------
Summary: Wrong result for aggregation query with lower slice_target
Key: DRILL-1946
URL: https://issues.apache.org/jira/browse/DRILL-1946
Project: Apache Drill
Issue Type: Bug
Components: Execution - Operators
Affects Versions: 0.7.0
Reporter: Aman Sinha
Assignee: Chris Westin
Here's the result with the default value of slice_target for the following query:
{code}
select count(*) from (
SELECT l_suppkey, sum(l_extendedprice)/sum(l_quantity)
FROM cp.`tpch/lineitem.parquet`
WHERE (l_orderkey in (SELECT o_orderkey FROM cp.`tpch/orders.parquet`
WHERE o_custkey < 2) )
GROUP BY l_suppkey
);
+------------+
| EXPR$0 |
+------------+
| 29 |
+------------+
{code}
I lowered the slice_target in order to force exchanges in the following query. The result is wrong.
{code}
0: jdbc:drill:zk=local> alter session set `planner.slice_target` = 1;
select count(*) from (
SELECT l_suppkey, sum(l_extendedprice)/sum(l_quantity)
FROM cp.`tpch/lineitem.parquet`
WHERE (l_orderkey in (SELECT o_orderkey FROM cp.`tpch/orders.parquet`
WHERE o_custkey < 2) )
GROUP BY l_suppkey
);
+------------+
| EXPR$0 |
+------------+
| 14 |
+------------+
{code}
The Explain plan for the second query has multiphase aggregates. When I set planner.enable_multiphase_agg = false, the result is correct, so it seems to be a multiphase aggregate issue based on a preliminary analysis (although there might be other things going on).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)