[ 
https://issues.apache.org/jira/browse/KYLIN-3001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pan, Julian updated KYLIN-3001:
-------------------------------
    Description: 
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 apply a patch? Or just provide the fix:
cacheKey = Lists.newArrayList(sql.replaceAll("[ ]", " "), project, offset, 
limit, acceptPartial,
                backdoorToggles);

  was:
Currently the cacheKey generate by SQLRequest getCacheKey:
cacheKey = Lists.newArrayList(sql.replaceAll("\\s+", ""), project, offset, 
limit, acceptPartial,
                backdoorToggles);
Will 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 apply a patch? Or just provide the fix:
cacheKey = Lists.newArrayList(sql.replaceAll("[ ]", " "), project, offset, 
limit, acceptPartial,
                backdoorToggles);


> Cache key issue 
> ----------------
>
>                 Key: KYLIN-3001
>                 URL: https://issues.apache.org/jira/browse/KYLIN-3001
>             Project: Kylin
>          Issue Type: Bug
>          Components: Query Engine
>            Reporter: Pan, Julian
>            Assignee: liyang
>            Priority: Critical
>
> 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 apply 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)

Reply via email to