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


The following commit(s) were added to refs/heads/master by this push:
     new fb0ea36  KYLIN-3632 Add configuration that can switch on/off 
preparedStatement cache in Kylin server
fb0ea36 is described below

commit fb0ea363ebdc6a7e44ff37b609af273e0dd3e842
Author: Ma,Gang <ga...@ebay.com>
AuthorDate: Mon Oct 15 13:30:17 2018 +0800

    KYLIN-3632 Add configuration that can switch on/off preparedStatement cache 
in Kylin server
---
 .../src/main/java/org/apache/kylin/common/KylinConfigBase.java        | 4 ++++
 .../src/main/java/org/apache/kylin/rest/service/QueryService.java     | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

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 386a73c..e54d722 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
@@ -1457,6 +1457,10 @@ abstract public class KylinConfigBase implements 
Serializable {
         return 
Integer.parseInt(this.getOptional("kylin.query.statement-cache-max-num-per-key",
 String.valueOf(50)));
     }
 
+    public boolean isQueryPreparedStatementCacheEnable() {
+        return 
Boolean.parseBoolean(this.getOptional("kylin.query.statement-cache-enabled", 
TRUE));
+    }
+
     public int getDimCountDistinctMaxCardinality() {
         return 
Integer.parseInt(getOptional("kylin.query.max-dimension-count-distinct", 
"5000000"));
     }
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 df0f0a7..8262472 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
@@ -587,7 +587,7 @@ public class QueryService extends BasicService {
                 long prjLastModifyTime = 
getProjectManager().getProject(sqlRequest.getProject()).getLastModified();
                 preparedContextKey = new 
PreparedContextKey(sqlRequest.getProject(), prjLastModifyTime, correctedSql);
                 PrepareSqlRequest prepareSqlRequest = (PrepareSqlRequest) 
sqlRequest;
-                if (prepareSqlRequest.isEnableStatementCache()) {
+                if (getConfig().isQueryPreparedStatementCacheEnable() && 
prepareSqlRequest.isEnableStatementCache()) {
                     try {
                         preparedContext = 
preparedContextPool.borrowObject(preparedContextKey);
                         borrowPrepareContext = true;

Reply via email to