Yerui Sun created KYLIN-1216:
--------------------------------

             Summary: Can't parse DateFormat like 'YYYYMMDD' correctly
                 Key: KYLIN-1216
                 URL: https://issues.apache.org/jira/browse/KYLIN-1216
             Project: Kylin
          Issue Type: Bug
          Components: Query Engine
    Affects Versions: 1.2, 2.0
            Reporter: Yerui Sun
            Assignee: Yerui Sun
             Fix For: 1.2, 2.0


Kylin has support date format as 'YYYYMMDD' since KYLIN-1101, and could read 
data and build cube successfully with this format. 
However, the query sql contains " dt='20151208' " can't be parsed, the reason 
is HBaseKeyRange.initPartitionRange still using default format 'YYYY-MM-DD' 
only, not read from partition desc.
Here's the trace:
{code}
Caused by: java.lang.IllegalArgumentException: '20150901' is not a valid date 
of pattern 'yyyy-MM-dd'
        at 
org.apache.kylin.common.util.DateFormat.stringToDate(DateFormat.java:78)
        at 
org.apache.kylin.common.util.DateFormat.stringToDate(DateFormat.java:70)
        at 
org.apache.kylin.storage.hbase.HBaseKeyRange.initPartitionRange(HBaseKeyRange.java:148)
        at 
org.apache.kylin.storage.hbase.HBaseKeyRange.init(HBaseKeyRange.java:127)
        at 
org.apache.kylin.storage.hbase.HBaseKeyRange.<init>(HBaseKeyRange.java:101)
        at 
org.apache.kylin.storage.hbase.CubeStorageEngine.buildScanRanges(CubeStorageEngine.java:410)
        at 
org.apache.kylin.storage.hbase.CubeStorageEngine.search(CubeStorageEngine.java:134)
        at 
org.apache.kylin.query.enumerator.CubeEnumerator.queryStorage(CubeEnumerator.java:149)
        at 
org.apache.kylin.query.enumerator.CubeEnumerator.moveNext(CubeEnumerator.java:74)
        at Baz$1$1.moveNext(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:533)
        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:566)
        at 
org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:477)
        at 
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:109)
        ... 83 more
Caused by: java.text.ParseException: Unparseable date: "20150901"
        at java.text.DateFormat.parse(DateFormat.java:366)
        at 
org.apache.kylin.common.util.DateFormat.stringToDate(DateFormat.java:76)
        ... 106 more
{code}



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

Reply via email to