You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by xx...@apache.org on 2021/03/18 09:22:14 UTC
[kylin] branch master updated: KYLIN-4667 Automatically set
kylin.query.cache-signature-enabled to be true when memcached is enabled
(#1540)
This is an automated email from the ASF dual-hosted git repository.
xxyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/master by this push:
new 49d7b9b KYLIN-4667 Automatically set kylin.query.cache-signature-enabled to be true when memcached is enabled (#1540)
49d7b9b is described below
commit 49d7b9bd6c022bf842c731c0521f0898e16566bf
Author: Jiang Yang <37...@users.noreply.github.com>
AuthorDate: Thu Mar 18 17:21:41 2021 +0800
KYLIN-4667 Automatically set kylin.query.cache-signature-enabled to be true when memcached is enabled (#1540)
---
.../src/main/java/org/apache/kylin/common/KylinConfigBase.java | 9 +++++++--
.../main/java/org/apache/kylin/rest/service/CacheService.java | 9 ++++++---
.../apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java | 2 +-
3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
index c3739b0..cd251ee 100644
--- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
+++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
@@ -1960,8 +1960,12 @@ public abstract class KylinConfigBase implements Serializable {
return Boolean.parseBoolean(this.getOptional("kylin.query.ignore-unknown-function", FALSE));
}
+ public boolean isMemcachedEnabled() {
+ return !StringUtil.isEmpty(getMemCachedHosts());
+ }
+
public String getMemCachedHosts() {
- return getRequired("kylin.cache.memcached.hosts");
+ return getOptional("kylin.cache.memcached.hosts", null);
}
public boolean isQuerySegmentCacheEnabled() {
@@ -2139,7 +2143,8 @@ public abstract class KylinConfigBase implements Serializable {
}
public boolean isQueryCacheSignatureEnabled() {
- return Boolean.parseBoolean(this.getOptional("kylin.query.cache-signature-enabled", FALSE));
+ return Boolean.parseBoolean(
+ this.getOptional("kylin.query.cache-signature-enabled", String.valueOf(isMemcachedEnabled())));
}
public int getFlatFilterMaxChildrenSize() {
diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/CacheService.java b/server-base/src/main/java/org/apache/kylin/rest/service/CacheService.java
index 9904cef..fca0316 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/CacheService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/CacheService.java
@@ -27,11 +27,11 @@ import org.apache.kylin.storage.hbase.HBaseConnection;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
+import org.springframework.cache.CacheManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
-import net.sf.ehcache.CacheManager;
/**
*/
@@ -121,7 +121,7 @@ public class CacheService extends BasicService implements InitializingBean {
logger.info("cleaning cache for project " + project + " (currently remove nothing)");
} else {
logger.info("cleaning cache for project " + project + " (currently remove all entries)");
- cacheManager.getCache(QueryService.QUERY_CACHE).removeAll();
+ cacheManager.getCache(QueryService.QUERY_CACHE).clear();
}
} else {
logger.warn("skip cleaning cache for project " + project);
@@ -131,7 +131,10 @@ public class CacheService extends BasicService implements InitializingBean {
protected void cleanAllDataCache() {
if (cacheManager != null) {
logger.warn("cleaning all storage cache");
- cacheManager.clearAll();
+ for (String cacheName : cacheManager.getCacheNames()) {
+ logger.warn("cleaning storage cache for {}", cacheName);
+ cacheManager.getCache(cacheName).clear();
+ }
} else {
logger.warn("skip cleaning all storage cache");
}
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
index 8cc4daa..a2900fa 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/CubeHBaseEndpointRPC.java
@@ -559,7 +559,7 @@ public class CubeHBaseEndpointRPC extends CubeHBaseRPC {
return false;
}
try {
- if (KylinConfig.getInstanceFromEnv().getMemCachedHosts() == null) {
+ if (!KylinConfig.getInstanceFromEnv().isMemcachedEnabled()) {
return false;
}
} catch (Exception e) {