drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sudheesh Katkam (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-4890) Right outer join fails
Date Wed, 14 Sep 2016 16:20:20 GMT

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

Sudheesh Katkam commented on DRILL-4890:

>From the email thread:

Sudheesh said,

Hi Kathir,

I tried the same query in embedded mode, and I got a different error.

java.lang.IndexOutOfBoundsException: index: 0, length: 8 (expected: range(0, 0))
	at io.netty.buffer.DrillBuf.checkIndexD(DrillBuf.java:123)
	at io.netty.buffer.DrillBuf.chk(DrillBuf.java:147)
	at io.netty.buffer.DrillBuf.getLong(DrillBuf.java:493)
	at org.apache.drill.exec.vector.BigIntVector$Accessor.get(BigIntVector.java:353)
	at org.apache.drill.exec.vector.BigIntVector$Accessor.getObject(BigIntVector.java:359)
	at org.apache.drill.exec.vector.RepeatedBigIntVector$Accessor.getObject(RepeatedBigIntVector.java:297)
	at org.apache.drill.exec.vector.RepeatedBigIntVector$Accessor.getObject(RepeatedBigIntVector.java:288)
	at org.apache.drill.exec.vector.accessor.GenericAccessor.getObject(GenericAccessor.java:44)
	at org.apache.drill.exec.vector.accessor.BoundCheckingAccessor.getObject(BoundCheckingAccessor.java:148)
	at org.apache.drill.jdbc.impl.TypeConvertingSqlAccessor.getObject(TypeConvertingSqlAccessor.java:795)
	at org.apache.drill.jdbc.impl.AvaticaDrillSqlAccessor.getObject(AvaticaDrillSqlAccessor.java:179)

In this case, the Java client library is not able to consume the results sent from the server,
and the query was CANCELLED (as seen in the query profile, on the web UI). Are you seeing
the same?

I am not aware of any workarounds; this seems like a bug to me. Can you open a ticket?

Thank you,

And then, Kathir said,
Hi Sudheesh,

Thanks for checking this out.
I do get the same error what you get, when i run Drillbit on my Eclipse and
run the same query from WebUI pointing to my local instance, and on top of
this error, i do get the "QueryDataBatch was released twice" error as well.

But, in drillbit.log of one of the nodes on the cluster, where this failed,
i don't see the IndexOutOfBoundsException. Somehow, the
log is getting suppressed and only the QueryDataBatch error is logged. But
thats a separate issue.

I did run it from WebUI and its in RUNNING state forever (actually i
started one yesterday and left the tab, its still in RUNNING state)

Sure, I'll file a JIRA and will provide the details here.

Thanks again!


> 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)
>         at org.apache.drill.exec.rpc.user.QueryResultHandler.batchArrived(QueryResultHandler.java:167)
>         at org.apache.drill.exec.rpc.user.UserClient.handleReponse(UserClient.java:110)
>         at org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:46)
>         at org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:31)
>         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)
>         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)
>         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

View raw message