You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Aman Sinha (JIRA)" <ji...@apache.org> on 2015/05/04 20:31:08 UTC
[jira] [Resolved] (DRILL-2934) Exception when distinct aggregate is
compared to numeric literal with decimal point
[ https://issues.apache.org/jira/browse/DRILL-2934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aman Sinha resolved DRILL-2934.
-------------------------------
Resolution: Fixed
Fix Version/s: (was: 0.9.0)
1.0.0
This is fixed in master branch by the fix for DRILL-2943. The fix is in 1.0.0, not 0.9.0, so I changed the 'fix version'. This is a good test, so we should include it in the functional suite.
> Exception when distinct aggregate is compared to numeric literal with decimal point
> ------------------------------------------------------------------------------------
>
> Key: DRILL-2934
> URL: https://issues.apache.org/jira/browse/DRILL-2934
> Project: Apache Drill
> Issue Type: Bug
> Components: Execution - Flow
> Affects Versions: 0.9.0
> Reporter: Victoria Markman
> Assignee: Aman Sinha
> Fix For: 1.0.0
>
>
> This exception has something to do with the numeric literal comparison.
> alter session set `planner.slice_target` = 1;
> Exception: (same is true for SUM/AVG)
> {code}
> 0: jdbc:drill:schema=dfs> select count(*) from cp.`tpch/orders.parquet` having count(distinct o_orderkey) <= 10000000.00;
> Query failed: SYSTEM ERROR: org.apache.drill.common.exceptions.ExpressionParsingException: Expression has syntax error! line 1:32:extraneous input 'E7' expecting Careen
> [8b467bf9-3fff-4aae-bfca-8d1cb5f01d4f on atsqa4-133.qa.lab:31010]
> Error: exception while executing query: Failure while executing query. (state=,code=0)
> {code}
> This one works (the difference is the value: one million with decimal point)
> {code}
> 0: jdbc:drill:schema=dfs> select count(*) from cp.`tpch/orders.parquet` having count(distinct o_orderkey) <= 1000000.00;
> +------------+
> | EXPR$0 |
> +------------+
> | 15000 |
> +------------+
> 1 row selected (2.793 seconds)
> {code}
> Remove decimal point, works:
> {code}
> 0: jdbc:drill:schema=dfs> select count(*) from cp.`tpch/orders.parquet` having sum(distinct o_orderkey) >= 10000000;
> +------------+
> | EXPR$0 |
> +------------+
> | 15000 |
> +------------+
> 1 row selected (3.021 seconds)
> {code}
> Non distinct aggregate:
> {code}
> 0: jdbc:drill:schema=dfs> select count(*) from cp.`tpch/orders.parquet` having count(o_orderkey) <= 10000000.00;
> +------------+
> | EXPR$0 |
> +------------+
> | 15000 |
> +------------+
> 1 row selected (0.249 seconds)
> {code}
> drillbit.log
> {code}
> 2015-05-01 04:31:34,925 [2abcfe58-9dd4-8ea0-51f9-4243ed49ad54:foreman] INFO o.a.drill.exec.work.foreman.Foreman - State change requested. PENDING --> FAILED
> org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception during fragment initialization: SYSTEM ERROR: org.apache.drill.common.exceptions.ExpressionParsingException: Expression has syntax error! line 1:32:extraneous input 'E7' expecting CParen
> [c8b9ea63-fb5d-44a7-a8e3-87995c3e6d31 on atsqa4-133.qa.lab:31010]
> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:212) [drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_71]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_71]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]
> Caused by: org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: org.apache.drill.common.exceptions.ExpressionParsingException: Expression has syntax error! line 1:32:extraneous input 'E7' expecting CParen
> [c8b9ea63-fb5d-44a7-a8e3-87995c3e6d31 on atsqa4-133.qa.lab:31010]
> at org.apache.drill.exec.rpc.CoordinationQueue.updateFailedFuture(CoordinationQueue.java:154) ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
> at org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:231) ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
> at org.apache.drill.exec.rpc.RpcBus$InboundHandler.decode(RpcBus.java:173) ~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
> at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[netty-codec-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) ~[netty-codec-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:161) ~[netty-codec-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) ~[netty-transport-4.0.24.Final.jar:4.0.24.Final]
> at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) ~[netty-common-4.0.24.Final.jar:4.0.24.Final]
> ... 1 common frames omitted
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)