drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jinfeng Ni (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-5532) TPCH Query 16 failed when planner.width.max_per_node <10
Date Wed, 13 Sep 2017 00:29:00 GMT

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

Jinfeng Ni commented on DRILL-5532:
-----------------------------------

DRILL-5468 is a similar issue, where the commit 841ead40109ff8364bee640a77881a8fea94d152 got
a new plan for Q18, which degrades the performance. However, after analysis, the new code
is doing the right thing, and previously we are just lucky to have a "better" plan. 

For this issue, it's possible that the new plan exposes a NPE bug in execution code. 


> TPCH Query 16 failed when planner.width.max_per_node <10
> --------------------------------------------------------
>
>                 Key: DRILL-5532
>                 URL: https://issues.apache.org/jira/browse/DRILL-5532
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Functions - Drill
>    Affects Versions: 1.11.0
>         Environment: 10 node cluster, rhel6.4 
>            Reporter: Dechang Gu
>            Assignee: Jinfeng Ni
>         Attachments: pfofile_tpch16_gitid_8412ad4.26dce567-5ec0-8bbf-c099-f2d6307bdeef.sys.drill,
profile_tpch16_gitid_adbf363.26dce6f3-3d75-e906-bfcb-2c6541ee2ff0.sys.drill
>
>
> When set planner.width.max_per_node < 10 (tried 6, 8, and 9): TPCH query 16 failed
with the following error:
> {code}
> java.sql.SQLException: SYSTEM ERROR: NullPointerException
> Fragment 1:1
> [Error Id: ba4661b4-2ff6-4eff-889c-fc4604a57418 on ucs-node8.perf.lab:31010]
>   (java.lang.NullPointerException) null
>     org.apache.drill.exec.vector.VarCharVector$Mutator.setSafe():607
>     org.apache.drill.exec.vector.NullableVarCharVector$Mutator.setSafe():560
>     org.apache.drill.exec.test.generated.StreamingAggregatorGen250.outputRecordKeysPrev():525
>     org.apache.drill.exec.test.generated.StreamingAggregatorGen250.outputToBatchPrev():322
>     org.apache.drill.exec.test.generated.StreamingAggregatorGen250.doWork():182
>     org.apache.drill.exec.physical.impl.aggregate.StreamingAggBatch.innerNext():170
>     org.apache.drill.exec.record.AbstractRecordBatch.next():162
>     org.apache.drill.exec.physical.impl.BaseRootExec.next():105
>     org.apache.drill.exec.physical.impl.partitionsender.PartitionSenderRootExec.innerNext():144
>     org.apache.drill.exec.physical.impl.BaseRootExec.next():95
>     org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():234    org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():227
>     java.security.AccessController.doPrivileged():-2
>     javax.security.auth.Subject.doAs():415
>     org.apache.hadoop.security.UserGroupInformation.doAs():1595
>     org.apache.drill.exec.work.fragment.FragmentExecutor.run():227
>     org.apache.drill.common.SelfCleaningRunnable.run():38
>     java.util.concurrent.ThreadPoolExecutor.runWorker():1145
>     java.util.concurrent.ThreadPoolExecutor$Worker.run():615
>     java.lang.Thread.run():745
> 	at org.apache.drill.jdbc.impl.DrillCursor.nextRowInternally(DrillCursor.java:489)
> 	at org.apache.drill.jdbc.impl.DrillCursor.next(DrillCursor.java:593)
> 	at org.apache.calcite.avatica.AvaticaResultSet.next(AvaticaResultSet.java:215)
> 	at org.apache.drill.jdbc.impl.DrillResultSetImpl.next(DrillResultSetImpl.java:140)
> 	at PipSQueak.fetchRows(PipSQueak.java:420)
> 	at PipSQueak.runTest(PipSQueak.java:116)
> 	at PipSQueak.main(PipSQueak.java:556)
> Caused by: org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: NullPointerException
> Fragment 1:1
> [Error Id: ba4661b4-2ff6-4eff-889c-fc4604a57418 on ucs-node8.perf.lab:31010]
>   (java.lang.NullPointerException) null
>     org.apache.drill.exec.vector.VarCharVector$Mutator.setSafe():607
>     org.apache.drill.exec.vector.NullableVarCharVector$Mutator.setSafe():560
>     org.apache.drill.exec.test.generated.StreamingAggregatorGen250.outputRecordKeysPrev():525
>     org.apache.drill.exec.test.generated.StreamingAggregatorGen250.outputToBatchPrev():322
>     org.apache.drill.exec.test.generated.StreamingAggregatorGen250.doWork():182
>     org.apache.drill.exec.physical.impl.aggregate.StreamingAggBatch.innerNext():170
>     org.apache.drill.exec.record.AbstractRecordBatch.next():162
>     org.apache.drill.exec.physical.impl.BaseRootExec.next():105
>     org.apache.drill.exec.physical.impl.partitionsender.PartitionSenderRootExec.innerNext():144
>     org.apache.drill.exec.physical.impl.BaseRootExec.next():95
>     org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():234
>     org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():227
>     java.security.AccessController.doPrivileged():-2
>     javax.security.auth.Subject.doAs():415
>     org.apache.hadoop.security.UserGroupInformation.doAs():1595
>     org.apache.drill.exec.work.fragment.FragmentExecutor.run():227
>     org.apache.drill.common.SelfCleaningRunnable.run():38
>     java.util.concurrent.ThreadPoolExecutor.runWorker():1145
>     java.util.concurrent.ThreadPoolExecutor$Worker.run():615
>     java.lang.Thread.run():745
> 	at org.apache.drill.exec.rpc.user.QueryResultHandler.resultArrived(QueryResultHandler.java:123)
> 	at org.apache.drill.exec.rpc.user.UserClient.handle(UserClient.java:343)
> 	at org.apache.drill.exec.rpc.user.UserClient.handle(UserClient.java:88)
> 	at org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:274)
> 	at org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:244)
> 	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89)
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> 	at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:254)
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> 	at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> 	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:242)
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> 	at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
> 	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:339)
> 	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:324)
> 	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:847)
> 	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
> 	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:111)
> 	at java.lang.Thread.run(Thread.java:745)
> [ERROR] Unable to fetch all rows (got only 0) org.apache.drill.common.exceptions.UserRemoteException:
SYSTEM ERROR: NullPointerException
> Fragment 1:1
> [Error Id: ba4661b4-2ff6-4eff-889c-fc4604a57418 on ucs-node8.perf.lab:31010]
>   (java.lang.NullPointerException) null
>     org.apache.drill.exec.vector.VarCharVector$Mutator.setSafe():607
>     org.apache.drill.exec.vector.NullableVarCharVector$Mutator.setSafe():560
>     org.apache.drill.exec.test.generated.StreamingAggregatorGen250.outputRecordKeysPrev():525
>     org.apache.drill.exec.test.generated.StreamingAggregatorGen250.outputToBatchPrev():322
>     org.apache.drill.exec.test.generated.StreamingAggregatorGen250.doWork():182
>     org.apache.drill.exec.physical.impl.aggregate.StreamingAggBatch.innerNext():170
>     org.apache.drill.exec.record.AbstractRecordBatch.next():162
>     org.apache.drill.exec.physical.impl.BaseRootExec.next():105
>     org.apache.drill.exec.physical.impl.partitionsender.PartitionSenderRootExec.innerNext():144
>     org.apache.drill.exec.physical.impl.BaseRootExec.next():95
>     org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():234
>     org.apache.drill.exec.work.fragment.FragmentExecutor$1.run():227
>     java.security.AccessController.doPrivileged():-2
>     javax.security.auth.Subject.doAs():415
>     org.apache.hadoop.security.UserGroupInformation.doAs():1595
>     org.apache.drill.exec.work.fragment.FragmentExecutor.run():227
>     org.apache.drill.common.SelfCleaningRunnable.run():38
>     java.util.concurrent.ThreadPoolExecutor.runWorker():1145
>     java.util.concurrent.ThreadPoolExecutor$Worker.run():615
>     java.lang.Thread.run():745
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message