You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kylin.apache.org by "Shaofeng SHI (JIRA)" <ji...@apache.org> on 2015/07/30 08:48:04 UTC

[jira] [Updated] (KYLIN-918) Calcite throws "java.lang.Float cannot be cast to java.lang.Double" error while executing SQL

     [ https://issues.apache.org/jira/browse/KYLIN-918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Shaofeng SHI updated KYLIN-918:
-------------------------------
    Fix Version/s: v0.7.3

This should be related with calcite upgrade from 0.9 to 1.3; We need fix it when release 0.7.3;

> Calcite throws "java.lang.Float cannot be cast to java.lang.Double" error while executing SQL
> ---------------------------------------------------------------------------------------------
>
>                 Key: KYLIN-918
>                 URL: https://issues.apache.org/jira/browse/KYLIN-918
>             Project: Kylin
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: v0.7.3
>            Reporter: Shaofeng SHI
>            Assignee: liyang
>             Fix For: v0.7.3
>
>
> This is from an eBay internal deployment which deployed with a latest build from 0.7-staging (0.7.3-SNAPSHOT); User reported that running a SQL which got such ClassCastException while it has no problem before; The error trace is:
> {code}
> Caused by: java.lang.ClassCastException: java.lang.Float cannot be cast to java.lang.Double 
> at Baz$4.apply(Unknown Source) 
> at Baz$4.apply(Unknown Source) 
> at Baz$4.apply(Unknown Source) 
> at org.apache.calcite.linq4j.EnumerableDefaults.groupBy_(EnumerableDefaults.java:737) 
> at org.apache.calcite.linq4j.EnumerableDefaults.groupBy(EnumerableDefaults.java:677) 
> at org.apache.calcite.linq4j.DefaultEnumerable.groupBy(DefaultEnumerable.java:301) 
> at Baz.bind(Unknown Source) 
> at org.apache.calcite.jdbc.CalcitePrepare$CalciteSignature.enumerable(CalcitePrepare.java:281) 
> at org.apache.calcite.jdbc.CalciteConnectionImpl.enumerable(CalciteConnectionImpl.java:235) 
> at org.apache.calcite.jdbc.CalciteMetaImpl.createIterable(CalciteMetaImpl.java:476) 
> at org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:184) 
> at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:63) 
> at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:42) 
> at org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:473) 
> at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:508) 
> at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:477) 
> at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:109) 
> ... 84 more 
> {code}
> The SQL is simple, like 
> select itemid, sum(column_a) from items group by  itemid
> I noticed the column "column_a" was declared as "float" in hive; After change the type to "double" in hive and sync it to Kylin, the same SQL can run successfully;



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