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))));
}
}