[2/4] kylin git commit: KYLIN-1366 simply metadata version binding
KYLIN-1366 simply metadata version binding kylin 1366 Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/ab9d5791 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/ab9d5791 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/ab9d5791 Branch: refs/heads/2.x-staging Commit: ab9d57914a119b5b426d2bfae712ca55ff35c92a Parents: 4c08ded Author: honmaAuthored: Wed Feb 24 15:58:07 2016 +0800 Committer: honma Committed: Fri Feb 26 17:54:37 2016 +0800 -- .../org/apache/kylin/common/KylinConfigBase.java | 8 .../java/org/apache/kylin/common/KylinVersion.java | 2 +- .../common/persistence/RootPersistentEntity.java | 17 + .../java/org/apache/kylin/cube/CubeInstance.java | 5 ++--- .../java/org/apache/kylin/cube/model/CubeDesc.java | 2 +- .../java/org/apache/kylin/dict/DictionaryInfo.java | 4 ++-- .../apache/kylin/dict/lookup/SnapshotManager.java | 2 +- .../apache/kylin/metadata/model/DataModelDesc.java | 2 +- .../kylin/metadata/project/ProjectInstance.java| 2 +- .../kylin/metadata/project/ProjectManager.java | 2 +- .../kylin/storage/hybrid/HybridInstance.java | 2 +- .../org/apache/kylin/invertedindex/IIInstance.java | 2 +- .../kylin/rest/controller/CubeController.java | 4 ++-- .../storage/hbase/util/ExtendCubeToHybridCLI.java | 4 ++-- 14 files changed, 21 insertions(+), 37 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/ab9d5791/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 5f9983a..7707684 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 @@ -61,14 +61,6 @@ public class KylinConfigBase implements Serializable { return kylinHome; } -/** - * @see KylinVersion - * @return current kylin version - */ -public static String getKylinVersion(){ -return KylinVersion.getCurrentVersion(); -} - // private volatile Properties properties = new Properties(); http://git-wip-us.apache.org/repos/asf/kylin/blob/ab9d5791/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java b/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java index d711b38..42cf237 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java @@ -21,7 +21,7 @@ package org.apache.kylin.common; * * @since 2.1 */ -class KylinVersion { +public class KylinVersion { /** * Require MANUAL updating kylin version per ANY upgrading. */ http://git-wip-us.apache.org/repos/asf/kylin/blob/ab9d5791/core-common/src/main/java/org/apache/kylin/common/persistence/RootPersistentEntity.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/persistence/RootPersistentEntity.java b/core-common/src/main/java/org/apache/kylin/common/persistence/RootPersistentEntity.java index 327ddcc..c46abe7 100644 --- a/core-common/src/main/java/org/apache/kylin/common/persistence/RootPersistentEntity.java +++ b/core-common/src/main/java/org/apache/kylin/common/persistence/RootPersistentEntity.java @@ -26,11 +26,11 @@ import java.util.Date; import java.util.UUID; import org.apache.commons.lang.time.FastDateFormat; +import org.apache.kylin.common.KylinVersion; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; import com.fasterxml.jackson.annotation.JsonProperty; -import org.apache.kylin.common.KylinConfig; /** * Marks the root entity of JSON persistence. Unit of read, write, cache, and @@ -80,14 +80,14 @@ abstract public class RootPersistentEntity implements AclEntity, Serializable { * For example: 2.1 */ @JsonProperty("version") -protected String version; +protected String version = KylinVersion.getCurrentVersion(); public String getVersion() { - return version; +return version; } public void setVersion(String version) { - this.version = version; +this.version = version; } public String getUuid() { @@ -110,14 +110,7
[1/4] kylin git commit: KYLIN-1453 cuboid sharding based on specific column
Repository: kylin Updated Branches: refs/heads/2.x-staging 2e1d2f6b6 -> 294fc7078 KYLIN-1453 cuboid sharding based on specific column Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/294fc707 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/294fc707 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/294fc707 Branch: refs/heads/2.x-staging Commit: 294fc70785ab009e6b4d8a12cbeb609d46f89a93 Parents: 3f5074e Author: honmaAuthored: Thu Feb 25 19:02:28 2016 +0800 Committer: honma Committed: Fri Feb 26 17:54:37 2016 +0800 -- .../org/apache/kylin/common/util/BytesUtil.java | 18 +- .../dict/TupleFilterFunctionTransformer.java| 170 +++ .../dict/TupleFilterFunctionTranslator.java | 166 -- .../kylin/metadata/filter/CaseTupleFilter.java | 7 +- .../metadata/filter/ColumnTupleFilter.java | 11 +- .../metadata/filter/CompareTupleFilter.java | 10 +- .../metadata/filter/ConstantTupleFilter.java| 16 +- .../metadata/filter/DynamicTupleFilter.java | 9 +- .../metadata/filter/ExtractTupleFilter.java | 7 +- .../metadata/filter/FunctionTupleFilter.java| 16 +- .../filter/ITupleFilterTransformer.java | 23 +++ .../metadata/filter/ITupleFilterTranslator.java | 26 --- .../metadata/filter/LogicalTupleFilter.java | 10 +- .../kylin/metadata/filter/TupleFilter.java | 5 +- .../metadata/filter/TupleFilterSerializer.java | 25 ++- .../common/coprocessor/FilterDecorator.java | 8 +- .../hbase/cube/v2/CubeSegmentScanner.java | 10 +- .../common/coprocessor/FilterBaseTest.java | 46 - .../common/coprocessor/FilterEvaluateTest.java | 4 +- .../common/coprocessor/FilterSerializeTest.java | 26 ++- 20 files changed, 325 insertions(+), 288 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/294fc707/core-common/src/main/java/org/apache/kylin/common/util/BytesUtil.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/util/BytesUtil.java b/core-common/src/main/java/org/apache/kylin/common/util/BytesUtil.java index e01ce4f..4e0701c 100644 --- a/core-common/src/main/java/org/apache/kylin/common/util/BytesUtil.java +++ b/core-common/src/main/java/org/apache/kylin/common/util/BytesUtil.java @@ -57,7 +57,6 @@ public class BytesUtil { return integer; } - public static long readLong(ByteBuffer buffer, int size) { long integer = 0; for (int i = 0; i < size; i++) { @@ -133,11 +132,15 @@ public class BytesUtil { // from WritableUtils // + public static void writeVInt(int i, ByteBuffer out) { + writeVLong(i, out); + } public static void writeVLong(long i, ByteBuffer out) { + if (i >= -112 && i <= 127) { out.put((byte) i); return; @@ -203,6 +206,8 @@ public class BytesUtil { } public static void writeUnsigned(int num, int size, ByteBuffer out) { + + int mask = 0xff << ((size - 1) * 8); for (int i = size; i > 0; i--) { int v = (num & mask) >> (i - 1) * 8; @@ -222,6 +227,7 @@ public class BytesUtil { } public static void writeLong(long num, ByteBuffer out) { + for (int i = 0; i < 8; i++) { out.put((byte) num); num >>>= 8; @@ -257,6 +263,8 @@ public class BytesUtil { } int len = str.length(); BytesUtil.writeVInt(len, out); + + for (int i = 0; i < len; i++) { out.put((byte) str.charAt(i)); } @@ -335,7 +343,7 @@ public class BytesUtil { writeVInt(-1, out); return; } -writeVInt(array.length, out); +writeVInt(length, out); out.put(array, offset, length); } @@ -348,7 +356,7 @@ public class BytesUtil { in.get(array); return array; } - + public static int peekByteArrayLength(ByteBuffer in) { int start = in.position(); int arrayLen = readVInt(in); @@ -369,6 +377,7 @@ public class BytesUtil { writeVInt(array.length, out); byte b_true = (byte) 1; byte b_false = (byte) 0; + for (int i = 0; i < array.length; i++) { if (array[i]) out.put(b_true); @@ -428,7 +437,4 @@ public class BytesUtil { return sb.toString(); } -public static void main(String[] args) throws Exception { -} - } http://git-wip-us.apache.org/repos/asf/kylin/blob/294fc707/core-dictionary/src/main/java/org/apache/kylin/dict/TupleFilterFunctionTransformer.java
[3/4] kylin git commit: minor, fix CI occasionally fail issue
minor, fix CI occasionally fail issue Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/3f5074ee Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/3f5074ee Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/3f5074ee Branch: refs/heads/2.x-staging Commit: 3f5074ee1568d5b0ba50d70d5c35319cd8223cc9 Parents: ab9d579 Author: honmaAuthored: Thu Feb 25 14:13:48 2016 +0800 Committer: honma Committed: Fri Feb 26 17:54:37 2016 +0800 -- .../dict/TupleFilterDictionaryTranslater.java | 165 -- .../dict/TupleFilterFunctionTranslator.java | 166 +++ .../metadata/filter/FunctionTupleFilter.java| 5 +- .../metadata/filter/function/BuiltInMethod.java | 33 ++-- .../cache/AbstractCacheFledgedQuery.java| 32 +--- .../kylin/storage/cache/DynamicCacheTest.java | 15 +- .../kylin/storage/cache/StaticCacheTest.java| 19 ++- .../kylin/storage/hbase/ITStorageTest.java | 11 +- .../common/coprocessor/FilterDecorator.java | 4 +- .../hbase/cube/v2/CubeSegmentScanner.java | 4 +- 10 files changed, 226 insertions(+), 228 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/3f5074ee/core-dictionary/src/main/java/org/apache/kylin/dict/TupleFilterDictionaryTranslater.java -- diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/TupleFilterDictionaryTranslater.java b/core-dictionary/src/main/java/org/apache/kylin/dict/TupleFilterDictionaryTranslater.java deleted file mode 100644 index 9ef360d..000 --- a/core-dictionary/src/main/java/org/apache/kylin/dict/TupleFilterDictionaryTranslater.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * 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. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.kylin.dict; - -import com.google.common.primitives.Primitives; -import org.apache.kylin.common.util.Dictionary; -import org.apache.kylin.metadata.filter.ColumnTupleFilter; -import org.apache.kylin.metadata.filter.CompareTupleFilter; -import org.apache.kylin.metadata.filter.ConstantTupleFilter; -import org.apache.kylin.metadata.filter.FunctionTupleFilter; -import org.apache.kylin.metadata.filter.ITupleFilterTranslator; -import org.apache.kylin.metadata.filter.LogicalTupleFilter; -import org.apache.kylin.metadata.filter.TupleFilter; -import org.apache.kylin.metadata.filter.TupleFilter.FilterOperatorEnum; -import org.apache.kylin.metadata.model.TblColRef; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ListIterator; - -/** - * Created by dongli on 1/7/16. - */ -public class TupleFilterDictionaryTranslater implements ITupleFilterTranslator { -public static final Logger logger = LoggerFactory.getLogger(TupleFilterDictionaryTranslater.class); - -private IDictionaryAware dictionaryAware; - -public TupleFilterDictionaryTranslater(IDictionaryAware dictionaryAware) { -this.dictionaryAware = dictionaryAware; -} - -@Override -public TupleFilter translate(TupleFilter tupleFilter) { -TupleFilter translated = null; -if (tupleFilter instanceof CompareTupleFilter) { -translated = translateCompareTupleFilter((CompareTupleFilter) tupleFilter); -if (translated != null) { -logger.info("Translated {" + tupleFilter + "} to IN clause: {" + translated + "}"); -} -} else if (tupleFilter instanceof FunctionTupleFilter) { -translated = translateFunctionTupleFilter((FunctionTupleFilter) tupleFilter); -if (translated != null) { -logger.info("Translated {" + tupleFilter + "} to IN clause: {" + translated + "}"); -} -} else if (tupleFilter instanceof LogicalTupleFilter) { -ListIterator childIterator = (ListIterator) tupleFilter.getChildren().listIterator(); -while (childIterator.hasNext()) { -TupleFilter tempTranslated =
kylin git commit: KYLIN-579 Unload Hive table from kylin
Repository: kylin Updated Branches: refs/heads/2.x-staging 6ee409ccc -> 2e1d2f6b6 KYLIN-579 Unload Hive table from kylin Signed-off-by: wangxianbin1987Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/2e1d2f6b Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/2e1d2f6b Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/2e1d2f6b Branch: refs/heads/2.x-staging Commit: 2e1d2f6b62903b16b17bd2442e3456107dc0aa6a Parents: 6ee409c Author: wangxianbin1987 Authored: Thu Feb 25 19:22:34 2016 +0800 Committer: shaofengshi Committed: Fri Feb 26 16:18:50 2016 +0800 -- .../java/org/apache/kylin/cube/CubeManager.java | 2 + .../apache/kylin/metadata/MetadataManager.java | 30 + .../kylin/metadata/project/ProjectManager.java | 12 .../kylin/rest/controller/TableController.java | 59 - .../apache/kylin/rest/service/CubeService.java | 14 + .../apache/kylin/rest/service/ModelService.java | 15 + .../kylin/rest/service/ProjectService.java | 20 ++ .../source/hive/HiveSourceTableLoader.java | 6 ++ webapp/app/js/controllers/sourceMeta.js | 66 webapp/app/js/services/tables.js| 1 + .../app/partials/tables/source_table_tree.html | 6 +- webapp/app/partials/tables/table_unload.html| 33 ++ 12 files changed, 259 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/2e1d2f6b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java -- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java index 84dd30a..4951ce6 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java @@ -46,7 +46,9 @@ import org.apache.kylin.metadata.MetadataManager; import org.apache.kylin.metadata.model.SegmentStatusEnum; import org.apache.kylin.metadata.model.TableDesc; import org.apache.kylin.metadata.model.TblColRef; +import org.apache.kylin.metadata.project.ProjectInstance; import org.apache.kylin.metadata.project.ProjectManager; +import org.apache.kylin.metadata.project.RealizationEntry; import org.apache.kylin.metadata.realization.IRealization; import org.apache.kylin.metadata.realization.IRealizationConstants; import org.apache.kylin.metadata.realization.IRealizationProvider; http://git-wip-us.apache.org/repos/asf/kylin/blob/2e1d2f6b/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java -- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java b/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java index 80ee8b3..9f2a934 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/MetadataManager.java @@ -197,6 +197,12 @@ public class MetadataManager { srcTableMap.put(srcTable.getIdentity(), srcTable); } +public void removeSourceTable(String tableIdentity) throws IOException { +String path = TableDesc.concatResourcePath(tableIdentity); +getStore().deleteResource(path); +srcTableMap.remove(tableIdentity); +} + private void init(KylinConfig config) throws IOException { this.config = config; this.srcTableMap = new CaseInsensitiveStringCache(config, Broadcaster.TYPE.TABLE); @@ -336,6 +342,24 @@ public class MetadataManager { return new ArrayList<>(ret); } +public boolean isTableInModel(String tableName, String projectName) throws IOException { +for(DataModelDesc modelDesc : getModels(projectName)) { +if(modelDesc.getAllTables().contains(tableName.toUpperCase())) { +return true; +} +} +return false; +} + +public boolean isTableInAnyModel(String tableName) { +for(DataModelDesc modelDesc : getModels()) { +if(modelDesc.getAllTables().contains(tableName.toUpperCase())){ +return true; +} +} +return false; +} + private void reloadAllDataModel() throws IOException { ResourceStore store = getStore(); logger.debug("Reloading DataModel from folder " + store.getReadableResourcePath(ResourceStore.DATA_MODEL_DESC_RESOURCE_ROOT)); @@ -441,6 +465,12 @@ public class MetadataManager { srcTableExdMap.put(tableId, tableExdProperties); } +public void removeTableExd(String