You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Shaofeng SHI (JIRA)" <ji...@apache.org> on 2017/11/04 12:44:00 UTC
[jira] [Comment Edited] (KYLIN-3001) Cache key issue
[ https://issues.apache.org/jira/browse/KYLIN-3001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16238965#comment-16238965 ]
Shaofeng SHI edited comment on KYLIN-3001 at 11/4/17 12:43 PM:
---------------------------------------------------------------
Good catch; +1
In my opinion, using the whole SQL as part of the key is inefficient. Calculating a hash value should be more efficient, and it doesn't need any regular expression.
[~liyang.gmt8@gmail.com] Yang, is there any concern?
was (Author: shaofengshi):
Good catch; +1
In my mind, using the whole SQL as part of the key is inefficient. Calculating a hash value should be more effective, and it doesn't need such conversion.
[~liyang.gmt8@gmail.com] Yang, is there any concern?
> Cache key issue
> ----------------
>
> Key: KYLIN-3001
> URL: https://issues.apache.org/jira/browse/KYLIN-3001
> Project: Kylin
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: v2.1.0
> Reporter: Pan, Julian
> Assignee: liyang
> Priority: Major
> 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
(v6.4.14#64029)