You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2020/09/01 14:12:00 UTC

[jira] [Commented] (KYLIN-4731) Kylin query failing with 'null while executing SQL'

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

ASF subversion and git services commented on KYLIN-4731:
--------------------------------------------------------

Commit e6d9fb0c3d5684d391ea1c8085e2e4bfe8f303db in kylin's branch refs/heads/master from Zhichao Zhang
[ https://gitbox.apache.org/repos/asf?p=kylin.git;h=e6d9fb0 ]

KYLIN-4731 Kylin query failing with 'NPE while executing SQL'

Please see the detailed info: https://issues.apache.org/jira/projects/KYLIN/issues/KYLIN-4731


> Kylin query failing with 'null while executing SQL'
> ---------------------------------------------------
>
>                 Key: KYLIN-4731
>                 URL: https://issues.apache.org/jira/browse/KYLIN-4731
>             Project: Kylin
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: v3.1.0
>            Reporter: Mateusz Jerzyk
>            Assignee: Zhichao  Zhang
>            Priority: Major
>         Attachments: error_logs, test_null_date_lookup_cube.json, test_null_date_lookup_model.json
>
>
> Hello, 
> we've recently upgraded Kylin from version 3.0.2 to 3.1.0 and some of the queries that worked well before started returning an error message `null while executing SQL: ...`.
> After some investigation, we've found that the problem happens while executing left join on a date column, where the value in the left table is null and it is defined as derived dimension in the cube. 
> Here are the steps to reproduce the issue:
>  # Creating tables in Hive and filling it with some values
> {code:java}
> CREATE TABLE `default.test_null_date`
> (
>     `key1` string,
>     `key2` string,
>     `date_segment` date,
>     `other_date` date
> )
> STORED AS ORC;
> CREATE TABLE `default.test_null_date_lookup`
> (
>     `date`       date,
>     `some_field` string
> )
> STORED AS ORC;
> INSERT INTO TABLE default.test_null_date VALUES
>  ('SOMETHING', 'SOMETHING', '2020-01-01', null),
>  ('SOMETHING', 'SOMETHING', '2020-01-01', '2020-01-02'),
>  ('SOMETHING', 'SOMETHING', '2020-01-01', '2020-01-03');
> INSERT INTO TABLE default.test_null_date_lookup VALUES
>  ('2020-01-01', 'SOMETHING'),
>  ('2020-01-02', 'SOMETHING'),
>  ('2020-01-03', 'SOMETHING');
> {code}
>  # Model definition in Kylin [^test_null_date_lookup_model.json]
>  # Cube definition in Kylin [^test_null_date_lookup_cube.json]
>  # The example query that fails
> {code:java}
> SELECT  COUNT(*), "SOME_FIELD"
>   FROM  "DEFAULT"."TEST_NULL_DATE"
>   LEFT  JOIN  "DEFAULT"."TEST_NULL_DATE_LOOKUP"
>     ON  "TEST_NULL_DATE"."OTHER_DATE" = "TEST_NULL_DATE_LOOKUP"."DATE"
>  GROUP  BY "SOME_FIELD"{code}
>  # Please see also logs of query execution [^error_logs]
>  
> We think that the issue was introduced here: 
> [https://github.com/apache/kylin/commit/6bd5b43bb06b6bf19d1a096d99146396aab8d5b2#diff-fa3dad06dc4edd4d139777c53492c9c2R303]
> where the method 
> [https://github.com/apache/kylin/blob/kylin-3.1.0/core-common/src/main/java/org/apache/kylin/common/util/DateFormat.java#L158-L168]
> is not protected from getting null values and throws NullPointerException



--
This message was sent by Atlassian Jira
(v8.3.4#803005)