[ 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)