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)