You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2020/02/06 07:33:39 UTC

[kylin] branch 2.6.x updated (6ac1d7c -> 1175527)

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

nic pushed a change to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git.


    from 6ac1d7c  KYLIN-4292 Use HFileOutputFormat3 in all places to replace HFileOutputFormat2
     new cd7fb00  KYLIN-4180 Prevent abnormal CPU usage by limiting flat filters length
     new 32364bd  KYLIN-1716 fix
     new 116fcc1  KYLIN-4183 Clicking 'Submit' button is unresponsive, when the segment is not selected.
     new 4a1184e  KYLIN-4169 remove useless listModels() in DataModelManager.curd.initE… (#843)
     new 099326b  KYLIN-4198 “bin/system-cube.sh cron” will overwrite user's crontab (#893)
     new 3f746ad  KYLIN-3741 when the sql result is empty and limit is 0 ,should not have 'load more' bar
     new f2f8591  KYLIN-4195 The cube size is 'NaN KB' after purging one cube.
     new f4f9520  KYLIN-4244: add com.tdunning shade in tool assembly
     new ed82551  KYLIN-2431 Use StorageCleanupJob cleanup intermediate hive tables after check whether it was created by current deployment
     new 0467a19  KYLIN-3842: fix partial match regression in the kylinProperties.js
     new ccb90cc  KYLIN-4254: The result exporting from Insight with CSV format is empty, when sql contains Chinese
     new 1175527  KYLIN-1716 UI Location Change Bug Fix

The 12 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 build/bin/system-cube.sh                           |  5 ++--
 build/deploy/server.xml                            |  1 +
 .../apache/kylin/metadata/filter/TupleFilter.java  | 13 ++++++---
 .../apache/kylin/metadata/model/DataModelDesc.java | 10 +++----
 .../kylin/metadata/model/DataModelManager.java     |  4 +--
 .../apache/kylin/rest/job/StorageCleanupJob.java   | 22 +++++++++++++++
 .../apache/kylin/rest/service/ModelService.java    |  3 +-
 tool-assembly/pom.xml                              |  5 ++++
 webapp/app/js/controllers/cubes.js                 |  2 +-
 webapp/app/js/controllers/page.js                  |  3 ++
 webapp/app/js/controllers/query.js                 | 33 +++++++++++++---------
 webapp/app/js/services/kylinProperties.js          | 22 +++++++++------
 webapp/app/partials/query/query_detail.html        |  2 +-
 13 files changed, 85 insertions(+), 40 deletions(-)


[kylin] 03/12: KYLIN-4183 Clicking 'Submit' button is unresponsive, when the segment is not selected.

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 116fcc12a655b12c032526eb2f7b6788411f25a8
Author: Kehua Wu <wu...@zte.com.cn>
AuthorDate: Mon Sep 30 09:56:46 2019 +0800

    KYLIN-4183 Clicking 'Submit' button is unresponsive, when the segment is not selected.
---
 webapp/app/js/controllers/cubes.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapp/app/js/controllers/cubes.js b/webapp/app/js/controllers/cubes.js
index 7032016..084b74e 100644
--- a/webapp/app/js/controllers/cubes.js
+++ b/webapp/app/js/controllers/cubes.js
@@ -862,7 +862,7 @@ var lookupRefreshCtrl = function($scope, scope, CubeList, $modalInstance, CubeSe
         SweetAlert.swal('Warning', 'Lookup table not existed in cube', 'warning');
         return;
       } else {
-        if ($scope.lookup.select.segments.length == 0) {
+        if (!$scope.lookup.select.segments || $scope.lookup.select.segments.length == 0) {
           SweetAlert.swal('Warning', 'Segment should not be empty', 'warning');
           return;
         }


[kylin] 01/12: KYLIN-4180 Prevent abnormal CPU usage by limiting flat filters length

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit cd7fb0002f2d512277946202ce4777c09c3491d7
Author: Temple Zhou <db...@gmail.com>
AuthorDate: Thu Sep 26 16:07:01 2019 +0800

    KYLIN-4180 Prevent abnormal CPU usage by limiting flat filters length
---
 .../java/org/apache/kylin/metadata/filter/TupleFilter.java  | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilter.java b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilter.java
index 019960e..6a1d415 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilter.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/TupleFilter.java
@@ -286,6 +286,15 @@ public abstract class TupleFilter {
     private List<TupleFilter> cartesianProduct(List<TupleFilter> leftOrFilters, TupleFilter partialAndFilter, int maxFlatChildrenSize) {
         List<TupleFilter> oldProductFilters = new LinkedList<TupleFilter>();
         oldProductFilters.add(partialAndFilter);
+
+        int flatChildrenSize = 1;
+        for (TupleFilter orFilter : leftOrFilters) {
+            flatChildrenSize *= orFilter.getChildren().size();
+            if (flatChildrenSize > maxFlatChildrenSize) {
+                throw new IllegalStateException("the filter is too large after do the flat, size="
+                        + flatChildrenSize);
+            }
+        }
         for (TupleFilter orFilter : leftOrFilters) {
             List<TupleFilter> newProductFilters = new LinkedList<TupleFilter>();
             for (TupleFilter orChildFilter : orFilter.getChildren()) {
@@ -293,10 +302,6 @@ public abstract class TupleFilter {
                     TupleFilter fullAndFilter = productFilter.copy();
                     fullAndFilter.addChildren(orChildFilter.getChildren());
                     newProductFilters.add(fullAndFilter);
-                    if (newProductFilters.size() > maxFlatChildrenSize) {
-                        throw new IllegalStateException("the filter is too large after do the flat, size="
-                                + newProductFilters.size());
-                    }
                 }
             }
             oldProductFilters = newProductFilters;


[kylin] 09/12: KYLIN-2431 Use StorageCleanupJob cleanup intermediate hive tables after check whether it was created by current deployment

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit ed8255130860cb4dedcb14842bbca5c8b985bd75
Author: yaqian.zhang <59...@qq.com>
AuthorDate: Tue Oct 15 16:48:01 2019 +0800

    KYLIN-2431 Use StorageCleanupJob cleanup intermediate hive tables after check whether it was created by current deployment
---
 .../apache/kylin/rest/job/StorageCleanupJob.java   | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java b/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java
index c8e73de..9b801fe 100755
--- a/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java
@@ -305,6 +305,7 @@ public class StorageCleanupJob extends AbstractApplication {
 
         List<String> allJobs = executableManager.getAllJobIds();
         List<String> workingJobList = new ArrayList<String>();
+        List<String> allUuids = getAllUuids(allJobs);
         Map<String, String> segmentId2JobId = Maps.newHashMap();
 
         for (String jobId : allJobs) {
@@ -356,6 +357,11 @@ public class StorageCleanupJob extends AbstractApplication {
                 continue;
             }
 
+            if (!allUuids.contains(uuid)) {
+                logger.debug("Skip table because is not current deployment create, " + tableName);
+                continue;
+            }
+
             //Some intermediate table ends with job's uuid
             if (allJobs.contains(uuid)) {
                 isNeedDel = !workingJobList.contains(uuid);
@@ -439,6 +445,22 @@ public class StorageCleanupJob extends AbstractApplication {
         }
     }
 
+    private List<String> getAllUuids(List<String> allJobs) {
+        List<String> allUuids = new ArrayList<>();
+        for (String jobId : allJobs) {
+            allUuids.add(jobId);
+            try {
+                String segmentId = getSegmentIdFromJobId(jobId);
+                if (segmentId != null) {
+                    allUuids.add(segmentId);
+                }
+            } catch (Exception ex) {
+                logger.warn("Failed to find segment ID from job ID " + jobId + ", ignore it");
+            }
+        }
+        return allUuids;
+    }
+
     private String getSegmentIdFromJobId(String jobId) {
         AbstractExecutable abstractExecutable = executableManager.getJob(jobId);
         String segmentId = abstractExecutable.getParam("segmentId");


[kylin] 08/12: KYLIN-4244: add com.tdunning shade in tool assembly

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit f4f952067171a7d865564179ac33565ff9d32a04
Author: Zhou Kang <zh...@xiaomi.com>
AuthorDate: Thu Nov 7 18:21:07 2019 +0800

    KYLIN-4244: add com.tdunning shade in tool assembly
---
 tool-assembly/pom.xml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tool-assembly/pom.xml b/tool-assembly/pom.xml
index 3510aaa..d88855e 100644
--- a/tool-assembly/pom.xml
+++ b/tool-assembly/pom.xml
@@ -105,6 +105,7 @@
                                     <include>org.springframework.security:spring-security-acl</include>
                                     <include>org.springframework:spring-core</include>
                                     <include>com.fasterxml.jackson*:*</include>
+                                    <include>com.tdunning*:*</include>
                                 </includes>
                             </artifactSet>
                             <relocations>
@@ -132,6 +133,10 @@
                                     <pattern>com.fasterxml.jackson</pattern>
                                     <shadedPattern>${shadeBase}.com.fasterxml.jackson</shadedPattern>
                                 </relocation>
+                                <relocation>
+                                    <pattern>com.tdunning</pattern>
+                                    <shadedPattern>${shadeBase}.com.tdunning</shadedPattern>
+                                </relocation>
                             </relocations>
                             <filters>
                                 <filter>


[kylin] 07/12: KYLIN-4195 The cube size is 'NaN KB' after purging one cube.

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit f2f8591e24086f89af9dba418b28434800235e8b
Author: Kehua Wu <wu...@zte.com.cn>
AuthorDate: Wed Oct 16 14:39:55 2019 +0800

    KYLIN-4195 The cube size is 'NaN KB' after purging one cube.
---
 webapp/app/js/controllers/page.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/webapp/app/js/controllers/page.js b/webapp/app/js/controllers/page.js
index 5416013..e79de84 100644
--- a/webapp/app/js/controllers/page.js
+++ b/webapp/app/js/controllers/page.js
@@ -152,6 +152,9 @@ KylinApp.controller('PageCtrl', function ($scope, $q, AccessService, $modal, $lo
 
   // Compute data size so as to auto convert to KB/MB/GB/TB)
   $scope.dataSize = function (data) {
+    if(!data){
+      return '0 KB';
+    }
     var size;
     if (data / 1024 / 1024 / 1024 / 1024 >= 1) {
       size = (data / 1024 / 1024 / 1024 / 1024).toFixed(2) + ' TB';


[kylin] 06/12: KYLIN-3741 when the sql result is empty and limit is 0 , should not have 'load more' bar

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 3f746ad56f5365c3f68ad041af0f3f4ef93ce18b
Author: hahayuan <yh...@126.com>
AuthorDate: Tue Dec 25 20:09:19 2018 +0800

    KYLIN-3741 when the sql result is empty and limit is 0 ,should not have 'load more' bar
---
 webapp/app/partials/query/query_detail.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/webapp/app/partials/query/query_detail.html b/webapp/app/partials/query/query_detail.html
index 63cf5ac..66f6176 100644
--- a/webapp/app/partials/query/query_detail.html
+++ b/webapp/app/partials/query/query_detail.html
@@ -111,7 +111,7 @@
                 </div>
             </div>
 
-            <div style="width: 100%;padding-top: 5px" ng-if="curQuery.result.hasMore">
+            <div style="width: 100%;padding-top: 5px" ng-if="curQuery.result.hasMore && curQuery.result.results.length != 0">
                 <div>
                     <div>
                         <button class="btn btn-default btn-sm" style="float: none;width: 100%"


[kylin] 05/12: KYLIN-4198 “bin/system-cube.sh cron” will overwrite user's crontab (#893)

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 099326ba161acd9c9eea55784db10ade95a58d91
Author: ITzhangqiang <56...@users.noreply.github.com>
AuthorDate: Wed Oct 30 15:22:19 2019 +0800

    KYLIN-4198 “bin/system-cube.sh cron” will overwrite user's crontab (#893)
    
    * KYLIN-4198 Fix
    
    * KYLIN-4198 "bin/system-cube.sh cron" will overwrite user's crontab
---
 build/bin/system-cube.sh | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/build/bin/system-cube.sh b/build/bin/system-cube.sh
index b717db0..504c1e4 100644
--- a/build/bin/system-cube.sh
+++ b/build/bin/system-cube.sh
@@ -104,7 +104,8 @@ then
     echo "add to a crontab job"
 
     CRONTAB_FILE=$KYLIN_HOME/crontabJob
-	cat <<-EOF > ${CRONTAB_FILE}
+    	crontab -l >> ${CRONTAB_FILE}
+	cat <<-EOF >> ${CRONTAB_FILE}
     0 */2 * * * sh ${KYLIN_HOME}/bin/build-incremental-cube.sh ${SC_NAME_1} 3600000 1200000
     20 */2 * * * sh ${KYLIN_HOME}/bin/build-incremental-cube.sh ${SC_NAME_2} 3600000 1200000
     40 */4 * * * sh ${KYLIN_HOME}/bin/build-incremental-cube.sh ${SC_NAME_3} 3600000 1200000
@@ -115,4 +116,4 @@ then
     rm ${CRONTAB_FILE}
 else
     printHelp
-fi
\ No newline at end of file
+fi


[kylin] 02/12: KYLIN-1716 fix

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 32364bd10f6fb6604c9c0b34fb731a536e6d5845
Author: Xiaoyuan Gu <xi...@xyxys-MacBook-Pro.local>
AuthorDate: Thu Oct 10 18:53:39 2019 +0800

    KYLIN-1716 fix
---
 webapp/app/js/controllers/query.js | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/webapp/app/js/controllers/query.js b/webapp/app/js/controllers/query.js
index 5be4cd7..4301bbf 100644
--- a/webapp/app/js/controllers/query.js
+++ b/webapp/app/js/controllers/query.js
@@ -424,6 +424,7 @@ KylinApp
             });
 
             if (isExecuting && (next.replace(current, "").indexOf("#") != 0)) {
+                event.preventDefault();
                 SweetAlert.swal({
                     title: '',
                     text: "You've executing query in current page, are you sure to leave this page?",
@@ -433,8 +434,8 @@ KylinApp
                     confirmButtonText: "Yes",
                     closeOnConfirm: true
                 }, function(isConfirm) {
-                    if(!isConfirm){
-                        event.preventDefault();
+                    if(isConfirm){
+                        $location.path($location.url(next).hash());
                     }
 
                 });


[kylin] 10/12: KYLIN-3842: fix partial match regression in the kylinProperties.js

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 0467a1908081180b2b019b03d84febf8b2dbcb00
Author: zettics <ze...@rack2-41.zettics.com>
AuthorDate: Tue Apr 23 17:45:13 2019 -0400

    KYLIN-3842: fix partial match regression in the kylinProperties.js
---
 webapp/app/js/services/kylinProperties.js | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/webapp/app/js/services/kylinProperties.js b/webapp/app/js/services/kylinProperties.js
index 3c7a66f..a6735f1 100644
--- a/webapp/app/js/services/kylinProperties.js
+++ b/webapp/app/js/services/kylinProperties.js
@@ -33,16 +33,22 @@ KylinApp.service('kylinConfig', function (AdminService, $log) {
   this.getProperty = function (name) {
     if(angular.isUndefined(name)
         || name.length === 0
-        || angular.isUndefined(_config)){
+        || angular.isUndefined(_config)
+        || _config.length === 0){
       return '';
     }
-    var keyIndex = _config.indexOf(name + '=');
-    var keyLength = name.length;
-    var partialResult = _config.substr(keyIndex);
-    var preValueIndex = partialResult.indexOf("=");
-    var sufValueIndex = partialResult.indexOf("\n", 2);
-    return partialResult.substring(preValueIndex + 1, sufValueIndex);
-
+    var nameAugmented = name + '=';
+    var keyIndex = 0;
+    if(_config.substr(0, nameAugmented.length) !== nameAugmented){
+       nameAugmented = "\n" + nameAugmented;
+       keyIndex = _config.indexOf(nameAugmented);
+       if(keyIndex === -1){
+          return '';
+       }     
+    }
+    var partialResult = _config.substr(keyIndex + nameAugmented.length);
+    var sufValueIndex = partialResult.indexOf("\n");
+    return partialResult.substring(0, sufValueIndex);
   }
 
   this.getTimeZone = function () {


[kylin] 04/12: KYLIN-4169 remove useless listModels() in DataModelManager.curd.initE… (#843)

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 4a1184ed33dac9700f8b2e3cfd332908b41a7504
Author: Kang <zh...@gmail.com>
AuthorDate: Mon Oct 28 20:24:28 2019 +0800

    KYLIN-4169 remove useless listModels() in DataModelManager.curd.initE… (#843)
    
    * KYLIN-4169 remove useless listModels() in DataModelManager.curd.initEntityAfterReload
    
    * remove useless parameters
---
 .../java/org/apache/kylin/metadata/model/DataModelDesc.java    | 10 ++++------
 .../java/org/apache/kylin/metadata/model/DataModelManager.java |  4 ++--
 .../main/java/org/apache/kylin/rest/service/ModelService.java  |  3 +--
 3 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
index f46bff4..5795d78 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java
@@ -342,13 +342,11 @@ public class DataModelDesc extends RootPersistentEntity {
     /**
      * @param isOnlineModel will affect the exposed view of project specific tables
      */
-    public void init(KylinConfig config, Map<String, TableDesc> tables, List<DataModelDesc> otherModels,
-            boolean isOnlineModel) {
-        initInternal(config, tables, otherModels, isOnlineModel);
+    public void init(KylinConfig config, Map<String, TableDesc> tables) {
+        initInternal(config, tables);
     }
 
-    public void initInternal(KylinConfig config, Map<String, TableDesc> tables, List<DataModelDesc> otherModels,
-            boolean isOnlineModel) {
+    public void initInternal(KylinConfig config, Map<String, TableDesc> tables) {
         this.config = config;
 
         initJoinTablesForUpgrade();
@@ -362,7 +360,7 @@ public class DataModelDesc extends RootPersistentEntity {
 
         boolean reinit = validate();
         if (reinit) { // model slightly changed by validate() and must init() again
-            initInternal(config, tables, otherModels, isOnlineModel);
+            initInternal(config, tables);
         }
     }
 
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelManager.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelManager.java
index c1ffbf7..88ba93d 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelManager.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelManager.java
@@ -88,7 +88,7 @@ public class DataModelManager {
             protected DataModelDesc initEntityAfterReload(DataModelDesc model, String resourceName) {
                 String prj = ProjectManager.getInstance(config).getProjectOfModel(model.getName()).getName();
                 if (!model.isDraft()) {
-                    model.init(config, getAllTablesMap(prj), getModels(prj), true);
+                    model.init(config, getAllTablesMap(prj));
                 }
                 return model;
             }
@@ -275,7 +275,7 @@ public class DataModelManager {
         String prj = ProjectManager.getInstance(config).getProjectOfModel(dataModelDesc.getName()).getName();
 
         if (!dataModelDesc.isDraft())
-            dataModelDesc.init(config, this.getAllTablesMap(prj), getModels(prj), false);
+            dataModelDesc.init(config, this.getAllTablesMap(prj));
 
         crud.save(dataModelDesc);
 
diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java b/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
index f3281e2..a385fab 100644
--- a/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java
@@ -286,8 +286,7 @@ public class ModelService extends BasicService {
 
         StringBuilder checkRet = new StringBuilder();
         if (cubes != null && cubes.size() != 0 && !historyModels.isEmpty()) {
-            dataModelDesc.init(getConfig(), getTableManager().getAllTablesMap(project),
-                    getDataModelManager().getModels(project), false);
+            dataModelDesc.init(getConfig(), getTableManager().getAllTablesMap(project));
 
             List<String> curModelDims = getModelCols(dataModelDesc);
             List<String> curModelMeasures = getModelMeasures(dataModelDesc);


[kylin] 11/12: KYLIN-4254: The result exporting from Insight with CSV format is empty, when sql contains Chinese

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit ccb90ccad63ee140c92b2241e5b682d4344392f7
Author: zhangxiang17 <zh...@58.com>
AuthorDate: Wed Nov 13 19:20:38 2019 +0800

    KYLIN-4254: The result exporting from Insight with CSV format is empty, when sql contains Chinese
---
 build/deploy/server.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/build/deploy/server.xml b/build/deploy/server.xml
index 96f329b..c626bc4 100644
--- a/build/deploy/server.xml
+++ b/build/deploy/server.xml
@@ -74,6 +74,7 @@
                    compressionMinSize="2048"
                    noCompressionUserAgents="gozilla,traviata"
                    compressableMimeType="text/html,text/xml,text/javascript,application/javascript,application/json,text/css,text/plain"
+                   URIEncoding="UTF-8"
         />
         <!-- A "Connector" using the shared thread pool-->
         <!-- Define a SSL HTTP/1.1 Connector on port 8443


[kylin] 12/12: KYLIN-1716 UI Location Change Bug Fix

Posted by ni...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

nic pushed a commit to branch 2.6.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 1175527722ee817c61571c4cd124cf7a83d61fb8
Author: Sean-Gu <nj...@163.com>
AuthorDate: Wed Nov 27 15:19:50 2019 +0800

    KYLIN-1716 UI Location Change Bug Fix
---
 webapp/app/js/controllers/query.js | 34 +++++++++++++++++++---------------
 1 file changed, 19 insertions(+), 15 deletions(-)

diff --git a/webapp/app/js/controllers/query.js b/webapp/app/js/controllers/query.js
index 4301bbf..e2b8520 100644
--- a/webapp/app/js/controllers/query.js
+++ b/webapp/app/js/controllers/query.js
@@ -56,6 +56,8 @@ KylinApp
             selectedProject: null
         };
 
+        $scope.locationChangeConfirmed = false;
+
         var Query = {
             createNew: function (sql, project) {
                 var query = {
@@ -424,21 +426,23 @@ KylinApp
             });
 
             if (isExecuting && (next.replace(current, "").indexOf("#") != 0)) {
-                event.preventDefault();
-                SweetAlert.swal({
-                    title: '',
-                    text: "You've executing query in current page, are you sure to leave this page?",
-                    type: '',
-                    showCancelButton: true,
-                    confirmButtonColor: '#DD6B55',
-                    confirmButtonText: "Yes",
-                    closeOnConfirm: true
-                }, function(isConfirm) {
-                    if(isConfirm){
-                        $location.path($location.url(next).hash());
-                    }
-
-                });
+                if (!$scope.locationChangeConfirmed) {
+                    event.preventDefault();
+                    SweetAlert.swal({
+                      title: '',
+                      text: "You've executing query in current page, are you sure to leave this page?",
+                      type: '',
+                      showCancelButton: true,
+                      confirmButtonColor: '#DD6B55',
+                      confirmButtonText: "Yes",
+                      closeOnConfirm: true
+                    }, function(isConfirm) {
+                        if(isConfirm){
+                          $scope.locationChangeConfirmed = true;
+                          $location.path($location.url(next).hash());
+                        }
+                    });
+                }
             }
         });