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 2022/09/02 07:24:04 UTC

[kylin] 01/02: KYLIN-5250 work round for no hack aggregation group

This is an automated email from the ASF dual-hosted git repository.

xxyu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 20e544636d3425ec0917f04305a1db0b19910486
Author: Mukvin <bo...@163.com>
AuthorDate: Fri Jul 8 15:48:18 2022 +0800

    KYLIN-5250 work round for no hack aggregation group
---
 .../main/java/org/apache/kylin/common/KylinConfigBase.java   |  4 ++++
 .../main/java/org/apache/kylin/cube/RawQueryLastHacker.java  | 12 +++++++++---
 2 files changed, 13 insertions(+), 3 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 f800dfd21c..0c22c0d94e 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
@@ -2822,4 +2822,8 @@ public abstract class KylinConfigBase implements Serializable {
     public String getEncryptCipherIvSpec() {
         return getOptional("kylin.security.encrypt.cipher.ivSpec", "AAAAAAAAAAAAAAAA");
     }
+
+    public boolean isEnabledNoAggQuery() {
+        return Boolean.parseBoolean(getOptional("kylin.query.enable-no-aggregate-query", FALSE));
+    }
 }
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java b/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java
index 918151c900..fba5fe83d5 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *  
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- *  
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -18,6 +18,7 @@
 
 package org.apache.kylin.cube;
 
+import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.debug.BackdoorToggles;
 import org.apache.kylin.cube.model.CubeDesc;
 import org.apache.kylin.metadata.model.FunctionDesc;
@@ -34,7 +35,12 @@ public class RawQueryLastHacker {
     private static final Logger logger = LoggerFactory.getLogger(RawQueryLastHacker.class);
 
     public static void hackNoAggregations(SQLDigest sqlDigest, CubeDesc cubeDesc, TupleInfo tupleInfo) {
-        if (!sqlDigest.isRawQuery || BackdoorToggles.getDisabledRawQueryLastHacker()) {
+        if (!sqlDigest.isRawQuery ||
+                BackdoorToggles.getDisabledRawQueryLastHacker() ||
+                KylinConfig.getInstanceFromEnv().isEnabledNoAggQuery()) {
+            if (KylinConfig.getInstanceFromEnv().isEnabledNoAggQuery()) {
+                logger.info("No hack for aggregation sql by kylin.query.enable-no-aggregate-query which is 'true'.");
+            }
             return;
         }