Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
v1.5.3
-
None
-
None
Description
KYLIN throws null pointer exception when executing a specify query. The query tries to calculate VV ratio of condition A and condition B. For simplicity, a minimum query is rewriten on ‘learn_kylin’ project and the condition is removed, so it can be reproduced easily.
Query
SELECT t1.PART_DT, SUM(t2.vv) / SUM(t1.vv) AS vv_rate FROM ( SELECT PART_DT, COUNT(1) as vv FROM KYLIN_SALES GROUP BY PART_DT ) AS t1 JOIN ( SELECT PART_DT, COUNT(1) as vv FROM KYLIN_SALES GROUP BY PART_DT ) AS t2 ON (t1.PART_DT = t2.PART_DT) GROUP BY t1.PART_DT
KYLIN Server LOG
null at org.apache.calcite.avatica.Helper.createException(Helper.java:56) at org.apache.calcite.avatica.Helper.createException(Helper.java:41) at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:143) at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:186) at org.apache.kylin.rest.service.QueryService.execute(QueryService.java:366) at org.apache.kylin.rest.service.QueryService.queryWithSqlMassage(QueryService.java:278) at org.apache.kylin.rest.service.QueryService.query(QueryService.java:121) at org.apache.kylin.rest.service.QueryService$$FastClassByCGLIB$$4957273f.invoke(<generated>) ….. Caused by: java.lang.NullPointerException at org.apache.kylin.query.relnode.OLAPAggregateRel.translateAggregation(OLAPAggregateRel.java:268) at org.apache.kylin.query.relnode.OLAPAggregateRel.implementRewrite(OLAPAggregateRel.java:240) at org.apache.kylin.query.relnode.OLAPRel$RewriteImplementor.visitChild(OLAPRel.java:121) at org.apache.kylin.query.relnode.OLAPProjectRel.implementRewrite(OLAPProjectRel.java:233) at org.apache.kylin.query.relnode.OLAPRel$RewriteImplementor.visitChild(OLAPRel.java:121) at org.apache.kylin.query.relnode.OLAPLimitRel.implementRewrite(OLAPLimitRel.java:101) at org.apache.kylin.query.relnode.OLAPRel$RewriteImplementor.visitChild(OLAPRel.java:121) at org.apache.kylin.query.relnode.OLAPToEnumerableConverter.implement(OLAPToEnumerableConverter.java:95) at org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:102)