drill-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kathiresan S <kathiresanselva...@gmail.com>
Subject Right outer join fails
Date Sun, 11 Sep 2016 01:56:09 GMT
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]
        at
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
[netty-codec-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:254)
[netty-handler-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
[netty-codec-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)
[netty-codec-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]
        at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)
[netty-transport-4.0.27.Final.jar:4.0.27.Final]

Thanks,
Kathir

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message