You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Zhong Yanghong (JIRA)" <ji...@apache.org> on 2017/09/25 02:06:00 UTC

[jira] [Updated] (KYLIN-2894) Change the query cache invalidation strategy by signature checking

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

Zhong Yanghong updated KYLIN-2894:
----------------------------------
    Description: 
Currently to invalid query cache, {{CacheService}} will either invoke {{cleanDataCache}} or {{cleanAllDataCache}}. Both methods will clear all of the query cache, which is very inefficient. In eBay PROD environment, there's around 400 cubing jobs per day, which means the query cache will be cleared very 4 minutes. Then we introduced a signature based cache invalidation strategy. The basic idea is as follows:
* Add a signature for {{SQLResponse}}, here we choose the cube last build time
* When fetch {{SQLResponse}} for cache, first check whether the signature is consistent. If not, this cached value is overdue and will be invalidate.

> Change the query cache invalidation strategy by signature checking
> ------------------------------------------------------------------
>
>                 Key: KYLIN-2894
>                 URL: https://issues.apache.org/jira/browse/KYLIN-2894
>             Project: Kylin
>          Issue Type: Improvement
>          Components: Query Engine
>            Reporter: Zhong Yanghong
>            Assignee: Zhong Yanghong
>
> Currently to invalid query cache, {{CacheService}} will either invoke {{cleanDataCache}} or {{cleanAllDataCache}}. Both methods will clear all of the query cache, which is very inefficient. In eBay PROD environment, there's around 400 cubing jobs per day, which means the query cache will be cleared very 4 minutes. Then we introduced a signature based cache invalidation strategy. The basic idea is as follows:
> * Add a signature for {{SQLResponse}}, here we choose the cube last build time
> * When fetch {{SQLResponse}} for cache, first check whether the signature is consistent. If not, this cached value is overdue and will be invalidate.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)