You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@kylin.apache.org by nezhazheng <ne...@gmail.com> on 2016/12/05 06:36:52 UTC

SQL Query encounter NullPointerException

SQL:
select “table”."c0" as "c0" from “table" as “table" where UPPER(“table”."c0") = UPPER(‘xxx') group by “table”."c0" order by CASE WHEN “table”."c0" IS NULL THEN 0 ELSE 1 END, “table”."c0" ASC

stacktrace:
	
Caused by: java.lang.NullPointerException
        at org.apache.kylin.cube.CubeSegment.dictKey(CubeSegment.java:297)
        at org.apache.kylin.cube.CubeSegment.getDictResPath(CubeSegment.java:289)
        at org.apache.kylin.cube.CubeManager.getDictionary(CubeManager.java:207)
        at org.apache.kylin.cube.CubeSegment.getDictionary(CubeSegment.java:315)
        at org.apache.kylin.cube.kv.CubeDimEncMap.getDictionary(CubeDimEncMap.java:87)
        at org.apache.kylin.dict.BuiltInFunctionTransformer.translateCompareTupleFilter(BuiltInFunctionTransformer.java:120)
        at org.apache.kylin.dict.BuiltInFunctionTransformer.transform(BuiltInFunctionTransformer.java:58)
        at org.apache.kylin.storage.gtrecord.CubeSegmentScanner.<init>(CubeSegmentScanner.java:67)
        at org.apache.kylin.storage.gtrecord.GTCubeStorageQueryBase.search(GTCubeStorageQueryBase.java:136)
        at org.apache.kylin.query.enumerator.OLAPEnumerator.queryStorage(OLAPEnumerator.java:114)
        at org.apache.kylin.query.enumerator.OLAPEnumerator.moveNext(OLAPEnumerator.java:64)
        at Baz$1$1.moveNext(Unknown Source)
        at org.apache.calcite.linq4j.EnumerableDefaults.distinct(EnumerableDefaults.java:449)
        at org.apache.calcite.linq4j.DefaultEnumerable.distinct(DefaultEnumerable.java:206)
        at Baz.bind(Unknown Source)
        at org.apache.calcite.jdbc.CalcitePrepare$CalciteSignature.enumerable(CalcitePrepare.java:327)
        at org.apache.calcite.jdbc.CalciteConnectionImpl.enumerable(CalciteConnectionImpl.java:282)
        at org.apache.calcite.jdbc.CalciteMetaImpl._createIterable(CalciteMetaImpl.java:553)
        at org.apache.calcite.jdbc.CalciteMetaImpl.createIterable(CalciteMetaImpl.java:544)
        at org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:187)
        at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:65)
        at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:44)
        at org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:605)
        at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:599)
        at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:613)
        at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:139)

—
郑舒力
13311008875


Re: SQL Query encounter NullPointerException

Posted by Li Yang <li...@apache.org>.
What's your Kylin version?

Looks like a bug. Please log a JIRA for it.

On Mon, Dec 5, 2016 at 2:36 PM, nezhazheng <ne...@gmail.com> wrote:

> SQL:
> select “table”."c0" as "c0" from “table" as “table" where
> UPPER(“table”."c0") = UPPER(‘xxx') group by “table”."c0" order by CASE WHEN
> “table”."c0" IS NULL THEN 0 ELSE 1 END, “table”."c0" ASC
>
> stacktrace:
>
> Caused by: java.lang.NullPointerException
>         at org.apache.kylin.cube.CubeSegment.dictKey(CubeSegment.java:297)
>         at org.apache.kylin.cube.CubeSegment.getDictResPath(
> CubeSegment.java:289)
>         at org.apache.kylin.cube.CubeManager.getDictionary(
> CubeManager.java:207)
>         at org.apache.kylin.cube.CubeSegment.getDictionary(
> CubeSegment.java:315)
>         at org.apache.kylin.cube.kv.CubeDimEncMap.getDictionary(
> CubeDimEncMap.java:87)
>         at org.apache.kylin.dict.BuiltInFunctionTransformer.
> translateCompareTupleFilter(BuiltInFunctionTransformer.java:120)
>         at org.apache.kylin.dict.BuiltInFunctionTransformer.transform(
> BuiltInFunctionTransformer.java:58)
>         at org.apache.kylin.storage.gtrecord.CubeSegmentScanner.<
> init>(CubeSegmentScanner.java:67)
>         at org.apache.kylin.storage.gtrecord.
> GTCubeStorageQueryBase.search(GTCubeStorageQueryBase.java:136)
>         at org.apache.kylin.query.enumerator.OLAPEnumerator.
> queryStorage(OLAPEnumerator.java:114)
>         at org.apache.kylin.query.enumerator.OLAPEnumerator.
> moveNext(OLAPEnumerator.java:64)
>         at Baz$1$1.moveNext(Unknown Source)
>         at org.apache.calcite.linq4j.EnumerableDefaults.distinct(
> EnumerableDefaults.java:449)
>         at org.apache.calcite.linq4j.DefaultEnumerable.distinct(
> DefaultEnumerable.java:206)
>         at Baz.bind(Unknown Source)
>         at org.apache.calcite.jdbc.CalcitePrepare$
> CalciteSignature.enumerable(CalcitePrepare.java:327)
>         at org.apache.calcite.jdbc.CalciteConnectionImpl.enumerable(
> CalciteConnectionImpl.java:282)
>         at org.apache.calcite.jdbc.CalciteMetaImpl._createIterable(
> CalciteMetaImpl.java:553)
>         at org.apache.calcite.jdbc.CalciteMetaImpl.createIterable(
> CalciteMetaImpl.java:544)
>         at org.apache.calcite.avatica.AvaticaResultSet.execute(
> AvaticaResultSet.java:187)
>         at org.apache.calcite.jdbc.CalciteResultSet.execute(
> CalciteResultSet.java:65)
>         at org.apache.calcite.jdbc.CalciteResultSet.execute(
> CalciteResultSet.java:44)
>         at org.apache.calcite.avatica.AvaticaConnection$1.execute(
> AvaticaConnection.java:605)
>         at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(
> CalciteMetaImpl.java:599)
>         at org.apache.calcite.avatica.AvaticaConnection.
> prepareAndExecuteInternal(AvaticaConnection.java:613)
>         at org.apache.calcite.avatica.AvaticaStatement.executeInternal(
> AvaticaStatement.java:139)
>
> —
> 郑舒力
> 13311008875
>
>