Rahul Challapalli created DRILL-2096:
----------------------------------------
Summary: Projecting a repeated list along with an order by on a
subquery with flatten results in an error
Key: DRILL-2096
URL: https://issues.apache.org/jira/browse/DRILL-2096
Project: Apache Drill
Issue Type: Bug
Components: Execution - Operators
Reporter: Rahul Challapalli
Assignee: Jason Altekruse
Priority: Critical
git.commit.id.abbrev=3e33880
Data Set :
{code}
{
"uid": 1,
"map": {
"rm": [
{
"mapid": "m1",
"mapvalue": {
"col1": 1,
"col2": [0,1,2,3,4,5]
},
"rptd": [
{ "a": "foo"},
{ "b": "boo"}
]
},
{
"mapid": "m2",
"mapvalue": {
"col1": 0,
"col2": []
},
"rptd": [
{ "a": "bar"},
{ "c": 1},
{ "d": 4.5}
]
}
]
}
}
{code}
{code}
0: jdbc:drill:schema=dfs.drillTestDir> select s.uid, s.rms.rptd from (select
d.uid, flatten(d.map.rm) rms from `data.json` d) s order by s.rms.mapid;
Error: exception while executing query: null (state=,code=0)
{code}
Explain Plan for the above query
{code}
00-00 Screen
00-01 Project(uid=[$0], EXPR$1=[$1])
00-02 SelectionVectorRemover
00-03 Sort(sort0=[$2], dir0=[ASC])
00-04 Project(uid=[$0], EXPR$1=[ITEM($1, 'rptd')], EXPR$2=[ITEM($1,
'mapid')])
00-05 Project(uid=[$0], rms=[$2])
00-06 Flatten(flattenField=[$2])
00-07 Project(EXPR$0=[$0], EXPR$1=[$1], EXPR$2=[ITEM($1,
'rm')])
00-08 Scan(groupscan=[EasyGroupScan
[selectionRoot=/drill/testdata/flatten_operators/temp2.json, numFiles=1,
columns=[`uid`, `map`.`rm`],
files=[maprfs:/drill/testdata/flatten_operators/data.json]]])
{code}
However the below query works (It project an index in the repeated list)
{code}
select s.uid, s.rms.rptd[0] from (select d.uid, flatten(d.map.rm) rms from
`data.json` d) s order by s.rms.mapid;
{code}
The logs are not entorely helpful here. Drill fails to propagate the error back
for some reason. DRILL-2085 has been raised to track this
{code}
2015-01-28 19:21:10,232 [2b36c959-3087-63d6-9a20-ca45fdb875f1:foreman] INFO
o.a.drill.exec.work.foreman.Foreman - State change requested. PENDING -->
RUNNING
2015-01-28 19:21:10,320 [UserServer-1] INFO
o.a.drill.exec.work.foreman.Foreman - State change requested. RUNNING -->
CANCELED
2015-01-28 19:21:10,336 [UserServer-1] INFO
o.a.drill.exec.work.foreman.Foreman - State change requested. CANCELED -->
COMPLETED
2015-01-28 19:21:10,336 [UserServer-1] WARN
o.a.drill.exec.work.foreman.Foreman - Dropping request to move to COMPLETED
state as query is already at CANCELED state (which is terminal).
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)