[ https://issues.apache.org/jira/browse/KYLIN-3001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16239796#comment-16239796 ]
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: 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 > 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)