You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2018/10/29 11:28:04 UTC
[kylin] 12/12: KYLIN-2898 If a distributed cache is adopted,
small query results are also better to be put into the cache.
This is an automated email from the ASF dual-hosted git repository.
shaofengshi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git
commit de86ed61271e1cddb98ddfb29639f757823f0b2a
Author: Zhong <nj...@apache.org>
AuthorDate: Tue Oct 23 19:47:57 2018 +0800
KYLIN-2898 If a distributed cache is adopted, small query results are also better to be put into the cache.
---
server-base/pom.xml | 4 ++++
.../src/main/java/org/apache/kylin/rest/service/QueryService.java | 4 +++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/server-base/pom.xml b/server-base/pom.xml
index 0a09b43..4454881 100644
--- a/server-base/pom.xml
+++ b/server-base/pom.xml
@@ -72,6 +72,10 @@
<groupId>org.apache.kylin</groupId>
<artifactId>kylin-source-kafka</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.kylin</groupId>
+ <artifactId>kylin-cache</artifactId>
+ </dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
index 78068eb..d8e397e 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java
@@ -62,6 +62,7 @@ import org.apache.commons.pool2.PooledObject;
import org.apache.commons.pool2.impl.DefaultPooledObject;
import org.apache.commons.pool2.impl.GenericKeyedObjectPool;
import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig;
+import org.apache.kylin.cache.cachemanager.MemcachedCacheManager;
import org.apache.kylin.common.KylinConfig;
import org.apache.kylin.common.QueryContext;
import org.apache.kylin.common.QueryContextFacade;
@@ -479,7 +480,8 @@ public class QueryService extends BasicService {
&& (isSelect == false || kylinConfig.isPushdownQueryCacheEnabled() == false)),
"query is executed with pushdown, but it is non-select, or the cache for pushdown is disabled") //
&& checkCondition(
- sqlResponse.getDuration() > durationThreshold
+ cacheManager.getCache(QUERY_CACHE) instanceof MemcachedCacheManager.MemCachedCacheAdaptor
+ || sqlResponse.getDuration() > durationThreshold
|| sqlResponse.getTotalScanCount() > scanCountThreshold
|| sqlResponse.getTotalScanBytes() > scanBytesThreshold, //
"query is too lightweight with duration: {} (threshold {}), scan count: {} (threshold {}), scan bytes: {} (threshold {})",