[ 
https://issues.apache.org/jira/browse/DRILL-4890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15490853#comment-15490853
 ] 

Sudheesh Katkam commented on DRILL-4890:
----------------------------------------

In addition to the bug causing IOOB, I suspect there is a bug in 
[DrillResultSetImpl#ResultsListener|https://github.com/apache/drill/blob/master/exec/jdbc/src/main/java/org/apache/drill/jdbc/impl/DrillResultSetImpl.java#L1942].
 This might not be handling exceptions properly, causing a batch to be released 
twice.

> 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.6.0, 1.8.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