You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ma...@apache.org on 2016/01/08 08:49:53 UTC
kylin git commit: KYLIN-1297 correct LoadingCache settings
Repository: kylin
Updated Branches:
refs/heads/2.0-rc 0559ae406 -> 9b0897e2f
KYLIN-1297 correct LoadingCache settings
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/9b0897e2
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/9b0897e2
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/9b0897e2
Branch: refs/heads/2.0-rc
Commit: 9b0897e2fc95f6e0b1d1d77490676537e7ef354d
Parents: 0559ae4
Author: honma <ho...@ebay.com>
Authored: Fri Jan 8 15:48:58 2016 +0800
Committer: honma <ho...@ebay.com>
Committed: Fri Jan 8 15:49:36 2016 +0800
----------------------------------------------------------------------
.../src/main/java/org/apache/kylin/common/KylinConfigBase.java | 5 +++++
.../src/main/java/org/apache/kylin/dict/DictionaryManager.java | 5 +++--
2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/9b0897e2/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
----------------------------------------------------------------------
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 774d282..a5ca690 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
@@ -408,6 +408,11 @@ public class KylinConfigBase implements Serializable {
return Integer.parseInt(getOptional("kylin.query.badquery.stacktrace.depth", "10"));
}
+ public int getCachedDictMaxEntrySize() {
+ return Integer.parseInt(getOptional("kylin.dict.cache.max.entry", "3000"));
+ }
+
+
public boolean getQueryRunLocalCoprocessor() {
return Boolean.parseBoolean(getOptional("kylin.query.run.local.coprocessor", "false"));
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/9b0897e2/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
----------------------------------------------------------------------
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
index d080d59..f2a7a87 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
@@ -82,7 +82,8 @@ public class DictionaryManager {
private DictionaryManager(KylinConfig config) {
this.config = config;
- this.dictCache = CacheBuilder.newBuilder().weakValues().expireAfterWrite(10, TimeUnit.MINUTES).build(new CacheLoader<String, DictionaryInfo>() {
+ this.dictCache = CacheBuilder.newBuilder().maximumSize(KylinConfig.getInstanceFromEnv().getCachedDictMaxEntrySize())//
+ .expireAfterWrite(1, TimeUnit.DAYS).build(new CacheLoader<String, DictionaryInfo>() {
@Override
public DictionaryInfo load(String key) throws Exception {
DictionaryInfo dictInfo = DictionaryManager.this.load(key, true);
@@ -356,7 +357,7 @@ public class DictionaryManager {
DictionaryInfo load(String resourcePath, boolean loadDictObj) throws IOException {
ResourceStore store = MetadataManager.getInstance(config).getStore();
- //logger.debug("Going to load DictionaryInfo from " + resourcePath);
+ logger.debug("Loading DictionaryInfo(loadDictObj:" + loadDictObj + ") from " + resourcePath);
DictionaryInfo info = store.getResource(resourcePath, DictionaryInfo.class, loadDictObj ? DictionaryInfoSerializer.FULL_SERIALIZER : DictionaryInfoSerializer.INFO_SERIALIZER);
// if (loadDictObj)