You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Rahul Challapalli (JIRA)" <ji...@apache.org> on 2015/02/21 00:41:13 UTC
[jira] [Created] (DRILL-2281) Drill never returns when we use
aggregate functions after a join with an order by
Rahul Challapalli created DRILL-2281:
----------------------------------------
Summary: Drill never returns when we use aggregate functions after a join with an order by
Key: DRILL-2281
URL: https://issues.apache.org/jira/browse/DRILL-2281
Project: Apache Drill
Issue Type: Bug
Components: Execution - Relational Operators
Reporter: Rahul Challapalli
Assignee: Chris Westin
git.commit.id.abbrev=6676f2d
The below query never returns : (Order by seems to be the culprit)
{code}
create view v1 as select uid, flatten(events) event from `data.json`;
create view v2 as select uid, flatten(transactions) transaction from `data.json`;
select v1.uid, MAX(v2.transaction.amount), MIN(v1.event.event_time) from v1 inner join v2 on v1.uid = v2.uid where v2.transaction.trans_time < 0 group by v1.uid order by v1.uid;
{code}
There seems to be constant activity in the drillbit.log file. The below message is continuously displayed in the log file
{code}
2015-02-20 23:35:04,450 [2b183b65-4551-bb9a-35ca-b71b9eedc4d6:frag:1:2] INFO o.a.d.exec.vector.BaseValueVector - Realloc vector null. [32768] -> [65536]
2015-02-20 23:35:04,451 [2b183b65-4551-bb9a-35ca-b71b9eedc4d6:frag:1:2] INFO o.a.d.exec.vector.BaseValueVector - Realloc vector null. [32768] -> [65536]
2015-02-20 23:35:04,451 [2b183b65-4551-bb9a-35ca-b71b9eedc4d6:frag:1:2] INFO o.a.d.exec.vector.BaseValueVector - Realloc vector null. [32768] -> [65536]
{code}
Drill returns correct data when we remove one of the agg functions or use multiple aggs from the same side of the join. The below queries work :
{code}
select v1.uid, MAX(v2.transaction.amount) from v1 inner join v2 on v1.uid = v2.uid where v2.transaction.trans_time < 0 group by v1.uid order by v1.uid;
select v1.uid, MAX(v2.transaction.amount), MAX(v2.transaction.amount) from v1 inner join v2 on v1.uid = v2.uid where v2.transaction.trans_time < 0 group by v1.uid order by v1.uid;
{code}
Attached the dataset which contains 2 records. I copied over the same 2 records 50000 times and ran the queries on the data set. Let me know if you need anything else.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)