Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
0.9.0
-
None
-
RHEL 6.4
-
Important
Description
When running a query against a Drill cluster without specifying the drillbit, the query executes correctly and without issue:
Connection Example:
[TestClient] -Dconn="jdbc:drill:schema=dfs.drill" PipSQueak 01_par100.q
[STAT] Query :
select l_returnflag, l_linestatus, sum(l_quantity) as sum_qty, sum(l_extendedprice) as sum_base_price, sum(l_extendedprice * (1 - l_discount)) as sum_disc_price, sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge, avg(l_quantity) as avg_qty, avg(l_extendedprice) as avg_price, avg(l_discount) as avg_disc, count as count_order from lineitem_par100 where l_shipdate <= date '1998-12-01' - interval '120' day (3) group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus
[STAT] Rows Fetched : 4
[STAT] TOTAL TIME : 32142 msec
However, when the Drillbit is specified (even on the same Drillbit where the query was previously submitted), we get a parse error:
Query failed: PARSE ERROR: From line 1, column 354 to line 1, column 368: Table 'lineitem_par100' not found
[d8aa2d68-c0eb-4bba-af6b-40403118c264 on ucs-node11.perf.lab:31010]
java.sql.SQLException: exception while executing query: Failure while executing query.
at net.hydromatic.avatica.Helper.createException(Helper.java:40)
at net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:406)
at net.hydromatic.avatica.AvaticaStatement.executeQueryInternal(AvaticaStatement.java:351)
at net.hydromatic.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:78)
at org.apache.drill.jdbc.DrillStatement.executeQuery(DrillStatement.java:60)
at PipSQueak.executeQuery(PipSQueak.java:251)
at PipSQueak.runTest(PipSQueak.java:79)
at PipSQueak.main(PipSQueak.java:430)
Caused by: java.sql.SQLException: Failure while executing query.
at org.apache.drill.jdbc.DrillCursor.next(DrillCursor.java:147)
at org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(DrillResultSetImpl.java:144)
at org.apache.drill.jdbc.impl.DrillResultSetImpl.execute(DrillResultSetImpl.java:57)
at net.hydromatic.avatica.AvaticaConnection.executeQueryInternal(AvaticaConnection.java:404)
... 6 more
Caused by: org.apache.drill.common.exceptions.UserRemoteException: PARSE ERROR: From line 1, column 354 to line 1, column 368: Table 'lineitem_par100' not found
[d8aa2d68-c0eb-4bba-af6b-40403118c264 on ucs-node11.perf.lab:31010]
at org.apache.drill.exec.rpc.user.QueryResultHandler.resultArrived(QueryResultHandler.java:112)
at org.apache.drill.exec.rpc.user.UserClient.handleReponse(UserClient.java:102)
at org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:52)
at org.apache.drill.exec.rpc.BasicClientWithConnection.handle(BasicClientWithConnection.java:34)
at org.apache.drill.exec.rpc.RpcBus.handle(RpcBus.java:57)
at org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:194)
at org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:173)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:161)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:745)
java.lang.NullPointerException
at PipSQueak.getQueryID(PipSQueak.java:97)
at PipSQueak.runTest(PipSQueak.java:81)
at PipSQueak.main(PipSQueak.java:430)