kylin-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pan, Julian (JIRA)" <>
Subject [jira] [Commented] (KYLIN-3001) Cache key issue
Date Mon, 06 Nov 2017 01:14:01 GMT


Pan, Julian commented on KYLIN-3001:

[~yimingliu] In my case, it is about break line issue. You can not suppose user can not add
any comments. Another reason kylin's sql parser calcite allow this behavior, kylin should
not forbidden comments behavior in SQL. Currently cache key will remove all space and break
line, which will lead this issue. In my opinion, we should not remove break line, and change
multiple space to one space. That will make sure the cache key will not change the original
SQL behavior.

> Cache key issue 
> ----------------
>                 Key: KYLIN-3001
>                 URL:
>             Project: Kylin
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: v2.1.0
>            Reporter: Pan, Julian
>            Assignee: liyang
>         Attachments: KYLIN_3001_Cache_key_issue.patch
> Currently the cacheKey generate by SQLRequest getCacheKey:
> cacheKey = Lists.newArrayList(sql.replaceAll("\\s+", ""), project, offset, limit, acceptPartial,
>                 backdoorToggles);
> Which will remove all the space and break line.
> If I have a sql:
> select a, sum(c) from table 
> --where a > 0 group by a;
> and another sql:
> select a, sum(c) from table 
> --where a > 0 
> group by a;
> The two sql will share same cache key.
> But the first sql should be break. If you query second sql, and then query the first
again. It will return result.
> And another issue is if remove all space, which will mix a as b and aasb.
> I think the better way is just replace multiple space to one space
> Should I create a patch? Or just provide the fix:
> cacheKey = Lists.newArrayList(sql.replaceAll("[ ]", " "), project, offset, limit, acceptPartial,
>                 backdoorToggles);

This message was sent by Atlassian JIRA

View raw message