You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Aman Sinha (JIRA)" <ji...@apache.org> on 2015/05/03 05:11:05 UTC

[jira] [Commented] (DRILL-2943) Deserialization error for an Order-By of floating point number in 'exponent' representation

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

Aman Sinha commented on DRILL-2943:
-----------------------------------

The cause of the failure is actually an underlying Drill parser error: 
 {code}
Caused by: org.apache.drill.common.exceptions.ExpressionParsingException: Expression has syntax error! line 1:25:mismatched input 'E' expecting CParen
	org.apache.drill.common.expression.parser.ExprParser.displayRecognitionError(ExprParser.java:169) ~[classes/:na]
	org.antlr.runtime.BaseRecognizer.reportError(BaseRecognizer.java:186) ~[antlr-runtime-3.4.jar:na]
{code}

The reason is Drill's ExprLexer  checks for lowercase 'e' in the scientific notation but not uppercase 'E'.   Adding that resolves the issue.  I will post a patch with unit test shortly. 


> Deserialization error for an Order-By of floating point number in 'exponent' representation
> -------------------------------------------------------------------------------------------
>
>                 Key: DRILL-2943
>                 URL: https://issues.apache.org/jira/browse/DRILL-2943
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - RPC
>    Affects Versions: 0.9.0
>            Reporter: Aman Sinha
>            Assignee: Aman Sinha
>
> When doing an order-by of values that have a multiplicative floating-point constant, the jackson deserialization errors out due to the 'E' in the exponent representation. 
> {code}
> alter session set `planner.slice_target` = 1;
> select c_acctbal * 0.0001 as x from cp.`tpch/customer.parquet` order by x;
> {code}
> {code}
> Caused by: com.fasterxml.jackson.databind.JsonMappingException: Expression has syntax error! line 1:25:mismatched input 'E' expecting CParen (through reference chain: java.util.ArrayList[0])
> 	com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:210) ~[jackson-databind-2.4.3.jar:2.4.3]
> 	com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:189) ~[jackson-databind-2.4.3.jar:2.4.3]
> 	com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:249) ~[jackson-databind-2.4.3.jar:2.4.3]
> 	com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:206) ~[jackson-databind-2.4.3.jar:2.4.3]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)