Kathiresan Selvaraj created DRILL-4890:
------------------------------------------

             Summary: Right outer join fails 
                 Key: DRILL-4890
                 URL: https://issues.apache.org/jira/browse/DRILL-4890
             Project: Apache Drill
          Issue Type: Bug
          Components: Execution - Data Types, Execution - Flow
    Affects Versions: 1.8.0, 1.6.0
            Reporter: Kathiresan Selvaraj


Hi,  A Query with right outer join fails while the inner and left outer joins 
work for the same data. I've replicated the issue with some simple data here 
and this happens in both 1.6.0 and 1.8.0

*Json file 1: data.json*

{ "name": "Jim","city" : [1,2]}

*Json file 2: cities.json*

{id:1,name:"Sendurai"}
{id:2,name:"NYC"}

*Queries that work:*
1.  select a.name,a.city,b.id,b.name from dfs.tmp.`data.json` a left outer join 
dfs.tmp.`cities.json` b on a.city\[0]=b.id

2. select a.name,a.city,b.id,b.name from dfs.tmp.`data.json` a join 
dfs.tmp.`cities.json` b on a.city\[0]=b.id

*Query that fails:*

select a.name,a.city,b.id,b.name from dfs.tmp.`data.json` a right outer join 
dfs.tmp.`cities.json` b on a.city\[0]=b.id

*On the server side, i see below error trace :*

java.lang.IllegalStateException: QueryDataBatch was released twice.
        at 
org.apache.drill.exec.rpc.user.QueryDataBatch.release(QueryDataBatch.java:56) 
\[drill-java-exec-1.6.0.jar:1.6.0]
        at 
org.apache.drill.exec.rpc.user.QueryResultHandler.batchArrived(QueryResultHandler.java:167)
 \[drill-java-exec-1.6.0.jar:1.6.0]
        at 
org.apache.drill.exec.rpc.user.UserClient.handleReponse(UserClient.java:110) 
~\[drill-java-exec-1.6.0.jar:1.6.0]
        at 
org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:46)
 ~\[drill-rpc-1.6.0.jar:1.6.0]
        at 
org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:31)
 ~\[drill-rpc-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.rpc.RpcBus.handle(RpcBus.java:67) 
~\[drill-rpc-1.6.0.jar:1.6.0]
        at org.apache.drill.exec.rpc.RpcBus$RequestEvent.run(RpcBus.java:374) 
~\[drill-rpc-1.6.0.jar:1.6.0]
        at 
org.apache.drill.common.SerializedExecutor$RunnableProcessor.run(SerializedExecutor.java:89)
 \[drill-rpc-1.6.0.jar:1.6.0]
        at 
org.apache.drill.exec.rpc.RpcBus$SameExecutor.execute(RpcBus.java:252) 
\[drill-rpc-1.6.0.jar:1.6.0]
        at 
org.apache.drill.common.SerializedExecutor.execute(SerializedExecutor.java:123) 
\[drill-rpc-1.6.0.jar:1.6.0]
        at 
org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:285) 
\[drill-rpc-1.6.0.jar:1.6.0]
        at 
org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:257) 
\[drill-rpc-1.6.0.jar:1.6.0]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to