Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.6.0, 1.8.0
-
None
-
None
Description
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]