You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2017/04/28 03:45:29 UTC

[1/2] kylin git commit: minor, use long for kylin.cube.aggrgroup.max-combination

Repository: kylin
Updated Branches:
  refs/heads/master 5450d06a0 -> 02a3d14ff


minor, use long for kylin.cube.aggrgroup.max-combination


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/60350c4a
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/60350c4a
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/60350c4a

Branch: refs/heads/master
Commit: 60350c4af1368062db47412c3cda80a8fd266784
Parents: ff3e095
Author: lidongsjtu <li...@apache.org>
Authored: Fri Apr 28 10:51:19 2017 +0800
Committer: lidongsjtu <li...@apache.org>
Committed: Fri Apr 28 10:51:19 2017 +0800

----------------------------------------------------------------------
 .../apache/kylin/common/KylinConfigBase.java    |  4 +-
 .../apache/kylin/cube/model/DimensionDesc.java  | 44 +++++++++++++++++++-
 .../validation/rule/AggregationGroupRule.java   |  2 +-
 .../kylin/cube/AggregationGroupRuleTest.java    |  4 +-
 4 files changed, 48 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/60350c4a/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 5490e93..be1c072 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
@@ -320,8 +320,8 @@ abstract public class KylinConfigBase implements Serializable {
         return Boolean.parseBoolean(getOptional("kylin.cube.ignore-signature-inconsistency", "false"));
     }
 
-    public int getCubeAggrGroupMaxCombination() {
-        return Integer.parseInt(getOptional("kylin.cube.aggrgroup.max-combination", "4096"));
+    public long getCubeAggrGroupMaxCombination() {
+        return Long.parseLong(getOptional("kylin.cube.aggrgroup.max-combination", "4096"));
     }
 
     public boolean getCubeAggrGroupIsMandatoryOnlyValid() {

http://git-wip-us.apache.org/repos/asf/kylin/blob/60350c4a/core-cube/src/main/java/org/apache/kylin/cube/model/DimensionDesc.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/DimensionDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/DimensionDesc.java
index 3488c36..344b7c8 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/DimensionDesc.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/DimensionDesc.java
@@ -53,7 +53,7 @@ public class DimensionDesc implements java.io.Serializable {
 
     public void init(CubeDesc cubeDesc) {
         DataModelDesc model = cubeDesc.getModel();
-        
+
         if (name != null)
             name = name.toUpperCase();
 
@@ -141,4 +141,46 @@ public class DimensionDesc implements java.io.Serializable {
     public String toString() {
         return Objects.toStringHelper(this).add("name", name).add("table", table).add("column", column).add("derived", Arrays.toString(derived)).add("join", join).toString();
     }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+
+        DimensionDesc that = (DimensionDesc) o;
+
+        if (column != null ? !column.equals(that.column) : that.column != null) {
+            return false;
+        }
+
+        if (name != null ? !name.equals(that.name) : that.name != null) {
+            return false;
+        }
+
+        if (table != null ? !table.equals(that.table) : that.table != null) {
+            return false;
+        }
+
+        if (derived != null ? !derived.equals(that.derived) : that.derived != null) {
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((name == null) ? 0 : name.hashCode());
+        result = prime * result + ((column == null) ? 0 : name.hashCode());
+        result = prime * result + ((table == null) ? 0 : table.hashCode());
+        result = prime * result + ((derived == null) ? 0 : derived.hashCode());
+        return result;
+    }
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/60350c4a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
index c9e2d28..14f981f 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
@@ -191,7 +191,7 @@ public class AggregationGroupRule implements IValidatorRule<CubeDesc> {
         }
     }
 
-    protected int getMaxCombinations(CubeDesc cubeDesc) {
+    protected long getMaxCombinations(CubeDesc cubeDesc) {
         return cubeDesc.getConfig().getCubeAggrGroupMaxCombination();
     }
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/60350c4a/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java
----------------------------------------------------------------------
diff --git a/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java b/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java
index 9bb5aea..968d4b4 100644
--- a/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java
+++ b/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java
@@ -69,7 +69,7 @@ public class AggregationGroupRuleTest extends LocalFileMetadataTestCase {
     public void testGoodBecomeBadDesc() throws IOException {
         AggregationGroupRule rule = new AggregationGroupRule() {
             @Override
-            protected int getMaxCombinations(CubeDesc cubeDesc) {
+            protected long getMaxCombinations(CubeDesc cubeDesc) {
                 return 2;
             }
         };
@@ -149,7 +149,7 @@ public class AggregationGroupRuleTest extends LocalFileMetadataTestCase {
     public AggregationGroupRule getAggregationGroupRule() {
         AggregationGroupRule rule = new AggregationGroupRule() {
             @Override
-            protected int getMaxCombinations(CubeDesc cubeDesc) {
+            protected long getMaxCombinations(CubeDesc cubeDesc) {
                 return 4096;
             }
         };


[2/2] kylin git commit: Merge commit '5450d06a09bf604836757f060daea480ea6ee27e'

Posted by li...@apache.org.
Merge commit '5450d06a09bf604836757f060daea480ea6ee27e'


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/02a3d14f
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/02a3d14f
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/02a3d14f

Branch: refs/heads/master
Commit: 02a3d14ffc7ef26f0f0b9c90bccebeacdeb01edc
Parents: 60350c4 5450d06
Author: Hongbin Ma <ma...@apache.org>
Authored: Fri Apr 28 11:44:50 2017 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Fri Apr 28 11:44:50 2017 +0800

----------------------------------------------------------------------
 build/bin/check_acl_migration.sh                |  42 ++
 build/bin/kylin.sh                              |   4 +
 .../apache/kylin/common/KylinConfigBase.java    |   2 +-
 .../kylin/common/persistence/ResourceStore.java |  35 +-
 .../kylin/common/persistence/StringEntity.java  |  69 +++
 .../common/persistence/ResourceStoreTest.java   |  64 +--
 .../org/apache/kylin/dimension/DateDimEnc.java  |   1 +
 .../kylin/dimension/DictionaryDimEnc.java       |   1 +
 .../kylin/provision/BuildCubeWithEngine.java    |   2 +-
 .../kylin/provision/BuildCubeWithStream.java    |   2 +-
 .../hbase/ITAclTableMigrationToolTest.java      | 208 +++++++++
 .../storage/hbase/ITHBaseResourceStoreTest.java |   8 +-
 server-base/pom.xml                             |  10 +-
 .../apache/kylin/rest/job/HybridCubeCLI.java    | 206 ++++++++
 .../kylin/rest/job/StorageCleanupJob.java       | 392 ++++++++++++++++
 .../kylin/rest/security/AclEntityFactory.java   |  11 +-
 .../kylin/rest/security/AclEntityType.java      |  31 ++
 .../kylin/rest/security/AclHBaseStorage.java    |   1 +
 .../kylin/rest/security/AclPermissionType.java  |  34 ++
 .../rest/security/MockAclHBaseStorage.java      |  13 +-
 .../rest/security/RealAclHBaseStorage.java      |  13 +-
 .../apache/kylin/rest/service/AclService.java   | 468 ++++++++++---------
 .../rest/service/AclTableMigrationTool.java     | 340 ++++++++++++++
 .../apache/kylin/rest/service/AdminService.java |   2 +-
 .../kylin/rest/service/HybridService.java       |   2 +-
 .../kylin/rest/service/LegacyAclService.java    | 460 ++++++++++++++++++
 .../kylin/rest/service/LegacyUserService.java   | 288 ++++++++++++
 .../apache/kylin/rest/service/UserService.java  | 343 +++++++-------
 .../rest/controller/AccessControllerTest.java   | 150 +++++-
 .../kylin/rest/service/AccessServiceTest.java   |   3 +-
 .../kylin/rest/service/ServiceTestBase.java     |  10 +-
 .../kylin/rest/service/UserServiceTest.java     |   1 +
 .../kylin/storage/hbase/HBaseConnection.java    |  30 +-
 .../kylin/storage/hbase/HBaseResourceStore.java |  35 +-
 .../kylin/storage/hdfs/HDFSResourceStore.java   |  17 +-
 tool-assembly/pom.xml                           |   2 +
 tool/pom.xml                                    |   9 +-
 .../kylin/tool/AbstractInfoExtractor.java       |   4 +-
 .../apache/kylin/tool/AclTableMigrationCLI.java |  51 ++
 .../org/apache/kylin/tool/HybridCubeCLI.java    | 174 +------
 .../apache/kylin/tool/StorageCleanupJob.java    | 383 +--------------
 .../org/apache/kylin/tool/util/ToolUtil.java    |  28 +-
 42 files changed, 2842 insertions(+), 1107 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/02a3d14f/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/kylin/blob/02a3d14f/server-base/src/main/java/org/apache/kylin/rest/service/AclService.java
----------------------------------------------------------------------
diff --cc server-base/src/main/java/org/apache/kylin/rest/service/AclService.java
index b80d97d,f13d1f7..63b155b
--- a/server-base/src/main/java/org/apache/kylin/rest/service/AclService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/AclService.java
@@@ -18,31 -18,14 +18,21 @@@
  
  package org.apache.kylin.rest.service;
  
 -import com.fasterxml.jackson.annotation.JsonProperty;
 -import com.fasterxml.jackson.core.JsonParseException;
 -import com.fasterxml.jackson.databind.JsonMappingException;
++import java.io.DataInputStream;
++import java.io.DataOutputStream;
 +import java.io.IOException;
- import java.io.Serializable;
 +import java.lang.reflect.Field;
 +import java.util.ArrayList;
 +import java.util.Arrays;
 +import java.util.HashMap;
 +import java.util.List;
 +import java.util.Map;
- import java.util.NavigableMap;
- 
- import javax.annotation.PostConstruct;
- 
- import org.apache.commons.io.IOUtils;
- import org.apache.hadoop.hbase.client.Delete;
- import org.apache.hadoop.hbase.client.Get;
- import org.apache.hadoop.hbase.client.Table;
- import org.apache.hadoop.hbase.client.Put;
- import org.apache.hadoop.hbase.client.Result;
- import org.apache.hadoop.hbase.client.ResultScanner;
- import org.apache.hadoop.hbase.client.Scan;
- import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
- import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
- import org.apache.kylin.common.util.Bytes;
- import org.apache.kylin.rest.security.AclHBaseStorage;
- import org.apache.kylin.rest.util.Serializer;
++
+ import org.apache.kylin.common.KylinConfig;
+ import org.apache.kylin.common.persistence.ResourceStore;
+ import org.apache.kylin.common.persistence.RootPersistentEntity;
+ import org.apache.kylin.common.persistence.Serializer;
+ import org.apache.kylin.common.util.JsonUtil;
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  import org.springframework.beans.factory.annotation.Autowired;
@@@ -71,12 -54,16 +61,10 @@@ import org.springframework.security.uti
  import org.springframework.stereotype.Component;
  import org.springframework.util.Assert;
  
 -import java.io.DataInputStream;
 -import java.io.DataOutputStream;
 -import java.io.IOException;
 -import java.lang.reflect.Field;
 -import java.util.ArrayList;
 -import java.util.Arrays;
 -import java.util.HashMap;
 -import java.util.List;
 -import java.util.Map;
++import com.fasterxml.jackson.annotation.JsonProperty;
 +import com.fasterxml.jackson.core.JsonParseException;
 +import com.fasterxml.jackson.databind.JsonMappingException;
  
- /**
-  * @author xduo
-  */
  @Component("aclService")
  public class AclService implements MutableAclService {
  
@@@ -470,5 -455,51 +456,51 @@@ class SidInfo 
          }
      }
  
+     public String getSid() {
+         return sid;
+     }
+ 
+     public void setSid(String sid) {
+         this.sid = sid;
+     }
+ 
+     public boolean isPrincipal() {
+         return isPrincipal;
+     }
+ 
+     public void setPrincipal(boolean isPrincipal) {
+         this.isPrincipal = isPrincipal;
+     }
+ 
+ }
+ 
+ class AceInfo {
+     private SidInfo sidInfo;
+     private int permissionMask;
+ 
+     public AceInfo() {
+     }
+ 
+     public AceInfo(AccessControlEntry ace) {
+         super();
+         this.sidInfo = new SidInfo(ace.getSid());
+         this.permissionMask = ace.getPermission().getMask();
+     }
+ 
+     public SidInfo getSidInfo() {
+         return sidInfo;
+     }
+ 
+     public void setSidInfo(SidInfo sidInfo) {
+         this.sidInfo = sidInfo;
+     }
+ 
+     public int getPermissionMask() {
+         return permissionMask;
+     }
+ 
+     public void setPermissionMask(int permissionMask) {
+         this.permissionMask = permissionMask;
+     }
  
 -}
 +}

http://git-wip-us.apache.org/repos/asf/kylin/blob/02a3d14f/server-base/src/main/java/org/apache/kylin/rest/service/UserService.java
----------------------------------------------------------------------
diff --cc server-base/src/main/java/org/apache/kylin/rest/service/UserService.java
index 9d94de1,0cf5081..6a552fd
--- a/server-base/src/main/java/org/apache/kylin/rest/service/UserService.java
+++ b/server-base/src/main/java/org/apache/kylin/rest/service/UserService.java
@@@ -18,29 -18,15 +18,22 @@@
  
  package org.apache.kylin.rest.service;
  
 -import com.fasterxml.jackson.annotation.JsonProperty;
++import java.io.DataInputStream;
++import java.io.DataOutputStream;
 +import java.io.IOException;
 +import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collection;
- import java.util.Collections;
 +import java.util.List;
 +
 +import javax.annotation.PostConstruct;
 +
- import org.apache.commons.io.IOUtils;
- import org.apache.hadoop.hbase.client.Delete;
- import org.apache.hadoop.hbase.client.Get;
- import org.apache.hadoop.hbase.client.Put;
- import org.apache.hadoop.hbase.client.Result;
- import org.apache.hadoop.hbase.client.ResultScanner;
- import org.apache.hadoop.hbase.client.Scan;
- import org.apache.hadoop.hbase.client.Table;
- import org.apache.kylin.common.util.Bytes;
- import org.apache.kylin.common.util.Pair;
+ import org.apache.kylin.common.KylinConfig;
+ import org.apache.kylin.common.persistence.ResourceStore;
+ import org.apache.kylin.common.persistence.RootPersistentEntity;
+ import org.apache.kylin.common.persistence.Serializer;
+ import org.apache.kylin.common.util.JsonUtil;
  import org.apache.kylin.rest.constant.Constant;
- import org.apache.kylin.rest.security.AclHBaseStorage;
- import org.apache.kylin.rest.util.Serializer;
- import org.springframework.beans.factory.annotation.Autowired;
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
  import org.springframework.security.access.prepost.PreAuthorize;
  import org.springframework.security.core.GrantedAuthority;
  import org.springframework.security.core.userdetails.User;
@@@ -49,9 -35,12 +42,7 @@@ import org.springframework.security.cor
  import org.springframework.security.provisioning.UserDetailsManager;
  import org.springframework.stereotype.Component;
  
- import com.fasterxml.jackson.core.JsonParseException;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.JsonMappingException;
 -import javax.annotation.PostConstruct;
 -import java.io.DataInputStream;
 -import java.io.DataOutputStream;
 -import java.io.IOException;
 -import java.util.ArrayList;
 -import java.util.List;
++import com.fasterxml.jackson.annotation.JsonProperty;
  
  /**
   */

http://git-wip-us.apache.org/repos/asf/kylin/blob/02a3d14f/server/src/test/java/org/apache/kylin/rest/service/ServiceTestBase.java
----------------------------------------------------------------------
diff --cc server/src/test/java/org/apache/kylin/rest/service/ServiceTestBase.java
index a47fdd2,b22f373..7370c48
--- a/server/src/test/java/org/apache/kylin/rest/service/ServiceTestBase.java
+++ b/server/src/test/java/org/apache/kylin/rest/service/ServiceTestBase.java
@@@ -70,17 -70,17 +70,17 @@@ public class ServiceTestBase extends Lo
  
          if (!userService.userExists("ADMIN")) {
              userService.createUser(new User("ADMIN", "KYLIN", Arrays.asList(//
-                     new UserService.UserGrantedAuthority(Constant.ROLE_ADMIN), new UserService.UserGrantedAuthority(Constant.ROLE_ANALYST), new UserService.UserGrantedAuthority(Constant.ROLE_MODELER))));
 -                    new UserGrantedAuthority(Constant.ROLE_ADMIN), new UserGrantedAuthority(Constant.ROLE_ANALYST), new UserGrantedAuthority(Constant.ROLE_MODELER))));
++                new UserGrantedAuthority(Constant.ROLE_ADMIN), new UserGrantedAuthority(Constant.ROLE_ANALYST), new UserGrantedAuthority(Constant.ROLE_MODELER))));
          }
  
          if (!userService.userExists("MODELER")) {
              userService.createUser(new User("MODELER", "MODELER", Arrays.asList(//
-                     new UserService.UserGrantedAuthority(Constant.ROLE_ANALYST), new UserService.UserGrantedAuthority(Constant.ROLE_MODELER))));
 -                    new UserGrantedAuthority(Constant.ROLE_ANALYST), new UserGrantedAuthority(Constant.ROLE_MODELER))));
++                new UserGrantedAuthority(Constant.ROLE_ANALYST), new UserGrantedAuthority(Constant.ROLE_MODELER))));
          }
  
-         if (!userService.userExists("ROLE_ANALYST")) {
-             userService.createUser(new User("ROLE_ANALYST", "ROLE_ANALYST", Arrays.asList(//
-                     new UserService.UserGrantedAuthority(Constant.ROLE_ANALYST))));
+         if (!userService.userExists("ANALYST")) {
+             userService.createUser(new User("ANALYST", "ANALYST", Arrays.asList(//
 -                    new UserGrantedAuthority(Constant.ROLE_ANALYST))));
++                new UserGrantedAuthority(Constant.ROLE_ANALYST))));
          }
      }