This is an automated email from the ASF dual-hosted git repository. liyang pushed a change to branch kylin5 in repository https://gitbox.apache.org/repos/asf/kylin.git
from 1d1ecbec63 KYLIN-5823,fix text recognition bug new d6285db6ab KYLIN-5792 Support ldap memberid mode new 07354967d4 KYLIN-5793 Fix Chinese gibberish when Spring ${} attribute injection new 91383f54d5 KYLIN-5795 Remove the check of `hadoop.tmp.dir` new e824503eca KYLIN-5796 Support databinder auto grow collections limit new 82ee25fdf1 KYLIN-5797 Remove nacos jar new 4d3418c237 KYLIN-5798 Add user-table access cache for table-loading new deb209f531 KYLIN-5799 Fix round, bround, lpad, rpad function new dc344ce2ff KYLIN-5800 & KYLIN-5812 Support scalar subquery join aggregate pushdown new e33ef57cce KYLIN-5791 & KYLIN-5801 Fix computation of timestampdff & add_month new 9b8050e00a KYLIN-5802 Models with the same name exist when restore metadata new bfff6d002c KYLIN-5803 Add file segments and smart cache new 085d707216 KYLIN-5805 Refactor project lock new a212350a51 KYLIN-5807 Fix query execute as user without data query acl new c4aad6e78b KYLIN-5808 Optimize performance when saving model/adding CC new 630a3aa7ce KYLIN-5809 Add TableIndex suggestion control in open api new dcfa26067f KYLIN-5810 Add the spark.session.isDefined check in queryExec new 5092e7a239 KYLIN-5811 Enhancement of SCD2 new ebd2f3d670 KYLIN-5814 Support lettuce sentinel mode new 768a5ececc KYLIN-5815 Failed to add primaryKey of table when upgrading concurrently new 2159699d8e KYLIN-5816 Add zk lock for dict v3 new 00352e8c2d KYLIN-5817 Query scanRows and bytes are incorrect new c61dc41899 KYLIN-5828 Concurrently dict v2 jobs lead to abnormal encoding result new f9255a515d KYLIN-5829 Add a tool for generating sql from dumped metadata new 191d08c272 KYLIN-5830 Push columns of sortRel to subOlapContexts new d7f37675e2 KYLIN-5832 Support queryDetect api new 412eff5c73 KYLIN-5833 Use TableIndex answer select * only works for query new e49c2f15a6 KYLIN-5836 Fix mapr env building error new 148d8f61aa KYLIN-5837 Support only reusing user defined computedColumns new eacb62b8aa KYLIN-5838 Replace join expression with the name of computedColumn new be22ca0de7 KYLIN-5839 Block agg-push-down for non-equal-join new 1c05436a01 KYLIN-5840 Fix vulnerability, Upgrade org.xerial.snappy:snappy-java to version 1.1.10.4 new 7d24ce642c KYLIN-5841 Fix vulnerability, Upgrade org.apache.avro:avro to version 1.11.3 new e804eee81e KYLIN-5844 & KYLIN-5843 Column ACL works for PushDown new 0bbb74ee79 KYLIN-5845 Avoid model initialization for multi-thread new 3f9b9c83be KYLIN-5846 upgrade spark version to 3.2.0-kylin-4.6.16.0 The 35 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/create-table.sh | 32 + build/conf/kylin-tools-diag-log4j.xml | 6 + build/conf/kylin-tools-log4j.xml | 6 + .../kap/secondstorage/metadata/Manager.java | 23 +- .../kap/secondstorage/metadata/NodeGroup.java | 5 + .../kap/secondstorage/metadata/TablePlan.java | 5 + pom.xml | 48 +- .../kylin/rest/controller/NBasicController.java | 14 + .../kylin/rest/controller/NSystemController.java | 33 + src/common-service/pom.xml | 4 + .../apache/kylin/rest/KylinPrepareEnvListener.java | 3 +- .../kylin/rest/aspect/InsensitiveNameAspect.java | 3 + .../kylin/rest/cache/AbstractKylinCache.java | 78 ++ .../apache/kylin/rest/cache/CacheConstant.java} | 12 +- .../org/apache/kylin/rest/cache/RedisCache.java | 91 +-- .../org/apache/kylin/rest/cache/RedisCacheV2.java | 224 ++++++ .../apache/kylin/rest/config/AppInitializer.java | 21 + .../config/initialize/EpochChangedListener.java | 16 +- .../config/initialize/ModelBrokenListener.java | 12 +- .../rest/request/SyncFileSegmentsRequest.java} | 23 +- .../rest/response/SyncFileSegmentsResponse.java} | 29 +- .../apache/kylin/rest/service/AccessService.java | 14 +- .../kylin/rest/service/KylinUserService.java | 8 +- .../apache/kylin/rest/service/ProjectService.java | 5 +- .../apache/kylin/rest/service/SystemService.java | 44 +- .../service/task/QueryHistoryTaskScheduler.java | 21 +- .../task/RecommendationTopNUpdateScheduler.java | 16 +- .../kylin/rest/cache/CacheConstantTest.java} | 13 +- .../apache/kylin/rest/cache/RedisCacheTest.java} | 20 +- .../apache/kylin/rest/cache/RedisCacheV2Test.java | 195 +++++ .../task/QueryHistoryTaskSchedulerTest.java | 17 +- .../rest/util/InitResourceGroupUtilsTest.java} | 24 +- src/core-common/pom.xml | 9 + .../java/org/apache/kylin/common/KapConfig.java | 28 +- .../org/apache/kylin/common/KylinConfigBase.java | 123 +++- .../java/org/apache/kylin/common/QueryContext.java | 23 +- .../apache/kylin/common/debug/BackdoorToggles.java | 5 - .../kylin/common/exception/QueryErrorCode.java | 6 - .../kylin/common/exception/ServerErrorCode.java | 2 + .../common/exception/code/ErrorCodeServer.java | 9 + .../common/exception/code/ErrorCodeSystem.java | 18 +- .../kylin/common/exception/code/ErrorCodeTool.java | 3 +- .../org/apache/kylin/common/msg/CnMessage.java | 10 + .../java/org/apache/kylin/common/msg/Message.java | 9 + .../common/persistence/InMemResourceStore.java | 7 +- .../kylin/common/persistence/ResourceStore.java | 25 +- .../common/persistence/RootPersistentEntity.java | 16 +- .../persistence/ThreadViewResourceStore.java | 13 +- .../persistence/lock/AbstractMemoryLock.java | 62 ++ .../persistence/lock/DeadLockException.java} | 9 +- .../common/persistence/lock/DeadLockHandler.java} | 44 +- .../common/persistence/lock/DeadLockInfo.java | 72 ++ .../common/persistence/lock/IntentionLock.java} | 8 +- .../persistence/lock/IntentionReadWriteLock.java | 257 +++++++ .../persistence/lock/IntentionShareLock.java | 59 ++ .../persistence/lock/LockInterruptException.java} | 9 +- .../common/persistence/lock/LockManager.java} | 27 +- .../persistence/lock/LockManagerInstance.java} | 20 +- .../persistence/lock/LockTimeoutException.java} | 9 +- .../kylin/common/persistence/lock/MemoryLock.java} | 21 +- .../common/persistence/lock/MemoryLockGraph.java | 171 +++++ .../common/persistence/lock/MemoryLockManager.java | 97 +++ .../common/persistence/lock/MemoryLockUtils.java | 206 ++++++ .../kylin/common/persistence/lock/ModuleLock.java} | 42 +- .../common/persistence/lock/ModuleLockEnum.java | 87 +++ .../lock/OptimisticLockRetryException.java} | 7 +- .../kylin/common/persistence/lock/PathLock.java} | 35 +- .../common/persistence/lock/ProjectLock.java} | 36 +- .../persistence/lock/ResourcePathParser.java | 121 ++++ .../kylin/common/persistence/lock/TempLock.java} | 7 +- .../lock/TransactionDeadLockHandler.java | 168 +++++ .../common/persistence/lock/TransactionLock.java} | 11 +- .../persistence/lock/TransactionLockManager.java} | 25 +- .../persistence/lock/TransactionProjectLock.java} | 13 +- .../persistence/lock/TransactionTempLock.java} | 12 +- .../lock/rule/LockEliminationRule.java} | 24 +- .../lock/rule/LockEliminationRuleExec.java | 57 ++ .../common/persistence/lock/rule/LockInfo.java | 49 ++ .../lock/rule/ModuleEliminationRule.java | 55 ++ .../persistence/lock/rule/PathEliminationRule.java | 70 ++ .../lock/rule/ProjectEliminationRule.java} | 25 +- .../persistence/metadata/JdbcEpochStore.java | 20 +- .../persistence/metadata/JdbcMetadataStore.java | 3 + .../common/persistence/metadata/MetadataStore.java | 1 + .../common/persistence/metadata/jdbc/JdbcUtil.java | 10 + .../transaction/MessageSynchronization.java | 7 +- .../persistence/transaction/TransactionLock.java | 96 --- .../transaction/TransactionManagerInstance.java} | 33 +- .../TransactionOptimisticLockManager.java} | 15 +- .../TransactionPessimisticLockManager.java | 81 +++ .../common/persistence/transaction/UnitOfWork.java | 163 +++-- .../persistence/transaction/UnitOfWorkContext.java | 28 +- .../persistence/transaction/UnitOfWorkParams.java | 24 + .../org/apache/kylin/common/util/AddressUtil.java | 4 + .../org/apache/kylin/common/util/ClassUtil.java | 25 +- .../org/apache/kylin/common/util/HadoopUtil.java | 9 +- .../org/apache/kylin/common/util/JsonUtil.java | 8 + .../org/apache/kylin/common/util/ThreadUtil.java | 3 + .../resources/kylin_error_msg_conf_cn.properties | 13 + .../resources/kylin_error_msg_conf_en.properties | 13 + .../main/resources/kylin_errorcode_conf.properties | 13 + .../resources/kylin_errorcode_conf_en.properties | 2 + .../resources/kylin_errorcode_conf_zh.properties | 2 + .../org/apache/kylin/common/KapConfigTest.java | 15 +- .../apache/kylin/common/KylinConfigBaseTest.java | 30 + .../persistence/JdbcAuditLogRecoveryTest.java | 24 +- .../common/persistence/JdbcMetadataStoreTest.java | 45 +- .../kylin/common/persistence/UnitOfWorkTest.java | 113 ++- .../common/persistence/lock/CloseWaitTest.java | 167 +++++ .../persistence/lock/MemoryLockGraphTest.java | 218 ++++++ .../lock/rule/LockEliminationRuleExecTest.java | 159 ++++ .../metadata/JdbcAuditLogStoreTest.java | 8 +- .../persistence/metadata/jdbc/JdbcUtilTest.java | 17 + ...ckTest.java => TransactionProjectLockTest.java} | 13 +- .../apache/kylin/common/util/AddressUtilTest.java | 1 + .../apache/kylin/common/util/ClassUtilTest.java | 63 ++ .../org/apache/kylin/job/common/SegmentUtil.java | 5 +- .../org/apache/kylin/job/dao/JobStatistics.java | 10 +- .../apache/kylin/job/dao/JobStatisticsBasic.java | 12 +- .../apache/kylin/job/dao/JobStatisticsManager.java | 28 +- .../org/apache/kylin/job/dao/NExecutableDao.java | 20 +- .../kylin/job/execution/NExecutableManager.java | 16 +- .../kylin/metadata/TempStatementManager.java | 10 +- .../java/org/apache/kylin/metadata/acl/AclTCR.java | 17 +- .../apache/kylin/metadata/acl/AclTCRManager.java | 21 +- .../metadata/cachesync/CacheReloadChecker.java | 6 +- .../kylin/metadata/cachesync/CachedCrudAssist.java | 53 +- .../kylin/metadata/cube/cuboid/IndexMatcher.java | 7 +- .../kylin/metadata/cube/model/IndexPlan.java | 10 +- .../cube/model/NDataLoadingRangeManager.java | 111 +-- .../cube/model/NDataSegDetailsManager.java | 41 +- .../kylin/metadata/cube/model/NDataSegment.java | 7 +- .../kylin/metadata/cube/model/NDataflow.java | 5 + .../metadata/cube/model/NDataflowManager.java | 100 +-- .../metadata/cube/model/NIndexPlanManager.java | 38 +- .../kylin/metadata/favorite/AbstractAsyncTask.java | 11 + .../metadata/favorite/AsyncAccelerationTask.java | 3 +- .../kylin/metadata/favorite/AsyncTaskManager.java | 30 +- .../kylin/metadata/favorite/FavoriteRule.java | 17 +- .../metadata/favorite/FavoriteRuleManager.java | 22 +- .../metadata/favorite/QueryHistoryIdOffset.java | 11 + .../favorite/QueryHistoryIdOffsetManager.java | 25 +- .../apache/kylin/metadata/jar/JarInfoManager.java | 34 +- .../kylin/metadata/model/ColExcludedChecker.java | 13 +- .../apache/kylin/metadata/model/ColumnDesc.java | 5 +- .../kylin/metadata/model/ComputedColumnDesc.java | 4 + .../FilePartitionDesc.java} | 29 +- .../apache/kylin/metadata/model/FusionModel.java | 10 +- .../kylin/metadata/model/FusionModelManager.java | 11 +- .../org/apache/kylin/metadata/model/JoinDesc.java | 30 +- .../apache/kylin/metadata/model/NDataModel.java | 35 +- .../kylin/metadata/model/NDataModelManager.java | 27 +- .../metadata/model/NTableMetadataManager.java | 115 ++- .../kylin/metadata/model/NonEquiJoinCondition.java | 301 +++++++- .../apache/kylin/metadata/model/PartitionDesc.java | 36 +- .../apache/kylin/metadata/model/SegmentRange.java | 86 +-- .../org/apache/kylin/metadata/model/Segments.java | 4 + .../org/apache/kylin/metadata/model/TableDesc.java | 10 +- .../apache/kylin/metadata/model/TableExtDesc.java | 24 +- .../metadata/model/{tool => }/TruthTable.java | 184 +++-- .../metadata/model/schema/ImportModelContext.java | 2 +- .../model/tool/JoinDescNonEquiCompBean.java | 60 -- .../model/tool/NonEquiJoinConditionComparator.java | 166 ----- .../model/tool/NonEquiJoinConditionVisitor.java | 59 -- .../metadata/model/tool/TypedLiteralConverter.java | 76 -- .../kylin/metadata/model/util/JoinDescUtil.java | 7 +- .../metadata/model/util/scd2/SCD2CondChecker.java | 88 ++- .../util/scd2/SCD2NonEquiCondSimplification.java | 201 ------ .../metadata/model/util/scd2/SCD2SqlConverter.java | 4 +- .../metadata/model/util/scd2/Scd2Simplifier.java | 174 +++++ .../model/util/scd2/SimplifiedJoinDesc.java | 23 +- .../kylin/metadata/project/NProjectManager.java | 22 +- .../metadata/query/JdbcQueryHistoryStore.java | 8 + .../metadata/query/NativeQueryRealization.java | 3 + .../metadata/query/NoopJdbcQueryHistoryStore.java | 219 ++++++ .../kylin/metadata/query/QueryMetricsContext.java | 3 +- .../kylin/metadata/query/RDBMSQueryHistoryDAO.java | 6 +- .../metadata/querymeta/SelectedColumnMeta.java | 1 - .../resourcegroup/ResourceGroupManager.java | 2 +- .../metadata/sourceusage/SourceUsageManager.java | 9 +- .../metadata/streaming/DataParserManager.java | 20 +- .../metadata/streaming/KafkaConfigManager.java | 17 +- .../kylin/metadata/streaming/StreamingManager.java | 13 +- .../metadata/upgrade/GlobalAclVersionManager.java | 10 +- .../apache/kylin/metadata/user/ManagedUser.java | 7 + .../kylin/metadata/user/NKylinUserManager.java | 37 +- .../metadata/usergroup/NUserGroupManager.java | 4 +- .../apache/kylin/metadata/usergroup/UserGroup.java | 7 + .../kylin/query/util/QueryInterruptChecker.java | 23 +- .../org/apache/kylin/rest/security/AclManager.java | 18 +- .../org/apache/kylin/rest/security/AclRecord.java | 2 +- .../security/PasswordPlaceholderConfigurer.java | 1 + .../org/apache/kylin/rest/security/UserAcl.java | 7 + .../apache/kylin/rest/security/UserAclManager.java | 4 +- .../apache/kylin/rest/util/AclPermissionUtil.java | 2 +- .../org/apache/kylin/util/BrokenEntityProxy.java | 10 +- .../metadata/cachesync/CachedCrudAssistTest.java | 63 ++ .../apache/kylin/metadata/cube/IndexPlanTest.java | 49 +- .../cube/model/NDataLoadingRangeManagerTest.java | 28 +- .../cube/model/NDataSegDetailsManagerTest.java | 2 +- .../metadata/epoch/EnhancedUnitOfWorkTest.java | 8 +- .../kylin/metadata/model/ModelNonEquiCondMock.java | 8 +- .../metadata/model/NDataModelManagerTest.java | 50 ++ .../metadata/model/NeqEquiJoinConditionTest.java | 281 ++++++++ .../tool/NonEquiJoinConditionComparatorTest.java | 234 ------ .../metadata/project/NProjectManagerTest.java | 32 + .../org/apache/kylin/model/NDataModelTest.java | 53 ++ .../rest/controller/v2/SegmentControllerV2.java | 60 +- .../kylin/rest/response/ExecutableResponse.java | 4 +- .../kylin/rest/service/ModelBuildService.java | 28 +- .../sdk/datasource/PushdownRunnerSDKImplTest.java | 10 +- .../apache/kylin/rest/service/TableExtService.java | 2 +- .../apache/kylin/rest/service/TableService.java | 127 ++-- .../apache/kylin/rest/service/SparkDDLTest.java | 26 +- .../rest/service/StreamingTableServiceTest.java | 4 - .../e78a89dd-847f-4574-8afa-8768b4228b72.json | 1 - .../e78a89dd-847f-4574-8afa-8768b4228b73.json | 1 - .../e78a89dd-847f-4574-8afa-8768b4228b74.json | 1 - .../org/apache/kylin/newten/AutoMergeTest.java | 7 +- .../routing/DataflowCapabilityCheckerTest.java | 3 +- .../query/routing/RealizationChooserTest.java | 24 +- .../kylin/query/rules/AggPushdownRuleTest.java | 4 +- .../kylin/query/rules/CalciteRuleTestBase.java | 12 +- .../query/rules/ScalarSubqueryJoinRuleTest.java | 112 +++ .../org/apache/kylin/util/OlapContextTestUtil.java | 19 +- .../query/rules/ScalarSubqueryJoinRuleTest.xml | 778 ++++++++++++++++++++ .../query/sql_scalar_subquery/query01.sql | 26 + .../query/sql_scalar_subquery/query02.sql | 30 + .../query/sql_scalar_subquery/query03.sql | 32 + .../query/sql_scalar_subquery/query04.sql | 28 + .../query/sql_scalar_subquery/query05.sql | 37 + .../query/sql_scalar_subquery/query06.sql | 35 + .../query/sql_scalar_subquery/query07.sql | 33 + .../query/sql_scalar_subquery/query08.sql | 36 + .../query/sql_scalar_subquery/query09.sql | 36 + .../query/sql_scalar_subquery/query10.sql | 33 + .../query/sql_scalar_subquery/query11.sql | 32 + .../query/sql_scalar_subquery/query12.sql | 41 ++ .../query/sql_scalar_subquery/query13.sql | 36 + .../query/sql_scalar_subquery/query14.sql | 32 + .../query/sql_scalar_subquery/query15.sql | 27 + .../query/sql_scalar_subquery/query16.sql | 33 + .../query/sql_scalar_subquery/query17.sql | 31 + .../query/sql_scalar_subquery/query18.sql | 65 ++ .../query/sql_scalar_subquery/query19.sql | 26 + .../org/apache/kylin/event/HAMetadataTest.java | 23 +- src/metadata-server/pom.xml | 5 + .../kylin/rest/controller/NTableController.java | 5 +- .../controller/NProjectControllerKylinTest.java | 17 +- .../rest/controller/NProjectControllerV2Test.java | 17 +- .../rest/controller/NUserGroupControllerTest.java | 38 +- .../controller/NUserGroupControllerV2Test.java | 22 +- .../rest/controller/OpenAclTCRControllerTest.java | 15 +- .../controller/open/OpenAclTCRControllerTest.java | 8 +- .../open/OpenUserGroupControllerTest.java | 14 +- .../apache/kylin/rest/request/ModelRequest.java | 4 + .../rest/response/LayoutRecDetailResponse.java | 4 +- .../kylin/rest/service/ModelSemanticHelper.java | 58 +- .../apache/kylin/rest/service/ModelService.java | 213 +++--- .../rest/service/params/BasicSegmentParams.java | 3 +- .../params/IncrementBuildSegmentParams.java | 10 +- .../rest/util/SCD2SimplificationConvertUtil.java | 30 +- .../kylin/rest/request/ModelRequestTest.java | 6 +- .../apache/kylin/rest/service/BaseIndexTest.java | 7 +- .../kylin/rest/service/IndexPlanServiceTest.java | 13 +- .../rest/service/ModelServiceBrokenRepairTest.java | 1 + .../service/ModelServiceSemanticUpdateTest.java | 456 ++++++------ .../kylin/rest/service/ModelServiceTest.java | 34 +- .../service/ModelTdsServiceColumnNameTest.java | 2 +- .../kylin/rest/service/ModelTdsServiceTest.java | 13 +- .../kylin/rest/service/TableReloadServiceTest.java | 8 +- .../kylin/rest/service/TableServiceTest.java | 6 +- .../apache/kylin/query/relnode/ContextUtil.java | 24 +- .../kylin/query/relnode/KapNonEquiJoinRel.java | 30 +- .../org/apache/kylin/query/relnode/KapSortRel.java | 19 +- .../apache/kylin/query/relnode/KapTableScan.java | 10 +- .../apache/kylin/query/relnode/KapValuesRel.java | 21 +- .../apache/kylin/query/relnode/OLAPContext.java | 19 +- .../apache/kylin/query/relnode/OLAPValuesRel.java | 13 +- .../kylin/query/routing/QueryLayoutChooser.java | 7 +- .../kylin/query/routing/RealizationChooser.java | 4 +- .../security/HackSelectStarWithColumnACL.java | 259 ++++--- .../kylin/query/util/ComputedColumnRewriter.java | 17 +- .../kylin/query/util/ConvertToComputedColumn.java | 80 ++- .../org/apache/kylin/query/util/PushDownUtil.java | 79 +- .../query/util/RestoreFromComputedColumn.java | 19 +- .../kylin/rest/controller/NQueryController.java | 109 ++- .../rest/controller/NQueryControllerTest.java | 27 + .../rest/controller/NQueryMetaControllerTest.java | 2 + .../rest/controller/SparkSourceControllerTest.java | 12 +- src/query-service/pom.xml | 5 + .../kylin/rest/request/QueryDetectRequest.java} | 17 +- .../kylin/rest/response/QueryDetectResponse.java | 156 ++++ .../apache/kylin/rest/response/SQLResponse.java | 44 +- .../apache/kylin/rest/response/SQLResponseV2.java | 19 + .../kylin/rest/service/QueryCacheManager.java | 113 ++- .../apache/kylin/rest/service/QueryService.java | 84 ++- .../kylin/rest/service/QueryCacheManagerTest.java | 191 +++++ .../kylin/rest/service/QueryServiceTest.java | 302 +++++++- .../rest/util/QueryCacheSignatureUtilTest.java | 16 +- .../kyligence/kap/query/optrule/KAPValuesRule.java | 11 +- .../kyligence/kap/query/optrule/KapJoinRule.java | 242 +++++-- .../kap/query/optrule/ScalarSubqueryJoinRule.java | 799 +++++++++++++++++++++ .../apache/kylin/query/blacklist/SQLBlacklist.java | 13 +- .../kylin/query/blacklist/SQLBlacklistManager.java | 28 +- .../apache/kylin/query/engine/PlannerFactory.java | 12 +- .../org/apache/kylin/query/engine/QueryExec.java | 44 +- .../kylin/query/engine/QueryRoutingEngine.java | 7 + .../engine/exec/calcite/CalciteQueryPlanExec.java | 3 + .../engine/exec/sparder/SparderQueryPlanExec.java | 19 +- .../org/apache/kylin/query/udf/SparkMathUDF.java | 7 +- .../org/apache/kylin/query/udf/SparkStringUDF.java | 15 +- .../java/org/apache/kylin/query/util/HepUtils.java | 20 +- .../kylin/query/util/QueryContextCutter.java | 24 +- .../kylin/query/engine/QueryRoutingEngineTest.java | 37 +- .../kylin/query/engine/SelectRealizationTest.java | 6 +- .../security/HackSelectStarWithColumnACLTest.java | 405 +++++++---- .../apache/kylin/query/util/CCOnRealModelTest.java | 68 +- .../apache/kylin/query/util/PushDownUtilTest.java | 359 +++++---- src/server/pom.xml | 2 + .../org/apache/kylin/rest/QueryNodeFilter.java | 4 + .../rest/health/MetaStoreHealthIndicator.java | 3 +- .../engine/spark/application/SparkApplication.java | 16 +- .../kylin/engine/spark/job/MppOnTheFlyImpl.java | 160 +++++ .../kylin/engine/spark/job/NSparkExecutable.java | 28 +- .../engine/spark/job/NSparkUpdateMetadataStep.java | 6 +- .../merger/AfterMergeOrRefreshResourceMerger.java | 3 +- .../spark/source/NSparkMetadataExplorer.java | 25 +- .../engine/spark/utils/ComputedColumnEvalUtil.java | 20 +- .../engine/spark/builder/CreateFlatTable.scala | 15 +- .../engine/spark/builder/DFBuilderHelper.scala | 6 + .../engine/spark/builder/DFDictionaryBuilder.scala | 33 +- .../engine/spark/builder/DFTableEncoder.scala | 13 +- .../spark/builder/DictionaryBuilderHelper.java | 5 +- .../spark/builder/SnapshotPartitionBuilder.scala | 6 +- .../kylin/engine/spark/builder/ZKHelper.scala | 42 ++ .../spark/builder/v3dict/DictionaryBuilder.scala | 69 +- .../kylin/engine/spark/job/FiltersUtil.scala | 2 +- .../kylin/engine/spark/job/FlatTableHelper.scala | 2 +- .../kylin/engine/spark/job/SegmentBuildJob.java | 7 +- .../apache/kylin/engine/spark/job/SegmentJob.java | 2 +- .../engine/spark/job/stage/build/BuildStage.scala | 2 +- .../job/stage/build/FlatTableAndDictBase.scala | 77 +- .../stage/build/MaterializedFactTableView.scala | 32 +- .../spark/smarter/IndexDependencyParser.scala | 60 +- .../engine/spark/dict/NGlobalDictionaryV2Test.java | 77 +- .../kylin/engine/spark/job/JobManagerTest.java | 5 +- .../engine/spark/job/NSparkMergingJobTest.java | 10 +- .../spark/source/NSparkMetadataExplorerTest.java | 14 +- .../kylin/engine/spark/builder/TestDFChooser.scala | 5 +- .../engine/spark/builder/TestGlobalDictBuild.scala | 58 +- .../v3dict/GlobalDictionaryUpdateSuite.scala | 6 +- .../kylin-soft-affinity-cache-hadoop3/pom.xml | 81 +++ .../cache/kylin/KylinCacheFileSystemHadoop3.java | 43 ++ .../kylin-soft-affinity-cache/pom.xml | 26 + .../kylin/cache/fs/AbstractCacheFileSystem.java | 277 ++++--- .../kylin/cache/fs/AlluxioHdfsFileInputStream.java | 10 +- .../kylin/cache/fs/CacheFileSystemConstants.java | 32 +- .../kylin/cache/fs/ManagerOfCacheFileContent.java | 116 +++ .../kylin/cache/fs/ManagerOfCacheFileStatus.java | 156 ++++ .../kylin/cache/kylin/KylinCacheFileSystem.java | 123 +++- .../cache/kylin/OnlyForTestCacheFileSystem.java | 16 +- .../softaffinity/SoftAffinityBookKeeping.java | 80 +++ .../cache/softaffinity/SoftAffinityConstants.java | 13 +- .../softaffinity/SoftAffinityTextInputFormat.java | 115 +++ .../apache/kylin/cache/utils/Hadoop3CompaUtil.java | 164 +++++ .../apache/kylin/cache/utils/ReflectionUtil.java | 5 +- .../org/apache/kylin/fileseg/FileSegments.java | 612 ++++++++++++++++ .../apache/kylin/fileseg/FileSegmentsDetector.java | 136 ++++ .../hive/serde2/lazy/LazyQuoteAwareSerDe.java | 795 ++++++++++++++++++++ .../kylin/softaffinity/SoftAffinityManager.scala | 38 +- .../execution/datasources/CacheFilePartition.scala | 11 +- .../datasources/CachePartitionedFile.scala | 9 +- .../kylin/cache/fs/KylinCacheFileSystemTest.java | 135 ---- .../cache/fs/ManagerOfCacheFileContentTest.java | 74 ++ .../cache/fs/ManagerOfCacheFileStatusTest.java | 69 ++ .../cache/kylin/KylinCacheFileSystemTest.java | 203 ++++++ .../serde2/lazy/lazy/LazyQuoteAwareSerDeTest.java | 290 ++++++++ .../test/resources/default_3ywc6z78.emp/emp.csv | 3 + .../resources/default_3ywc6z78.emp/emp_data_1.csv | 4 + .../src/test/resources/log4j2.xml | 24 + .../kylin/KylinCacheFileSystemWithSparkTest.scala | 140 ++++ .../HiveSoftAffinityAndLocalCacheTest.scala | 213 ++++++ src/spark-project/sparder/pom.xml | 8 + .../query/plugin/runtime/MppOnTheFlyProvider.java | 47 ++ .../kylin/query/pushdown/SparkSqlClient.scala | 51 +- .../kylin/query/runtime/ExpressionConverter.scala | 25 +- .../kylin/query/runtime/SparderRexVisitor.scala | 8 +- .../kylin/query/runtime/plan/TableScanPlan.scala | 53 +- .../kylin/query/util/SparderDerivedUtil.scala | 12 +- .../scala/org/apache/spark/sql/KapFunctions.scala | 4 +- .../scala/org/apache/spark/sql/SparderEnv.scala | 6 +- .../sql/catalyst/expressions/KapExpresssions.scala | 24 +- .../sql/hive/KylinHiveSessionStateBuilder.scala | 60 +- .../apache/spark/sql/hive/QueryMetricUtils.scala | 4 +- .../org/apache/spark/sql/udf/DictEncodeImpl.scala | 9 +- .../query/pushdown/PushDownRunnerJdbcImplTest.java | 56 +- .../sql/execution/SparkQueryMetricUtilsSuite.scala | 4 +- .../spark/sql/hive/ReplaceLocationRuleTest.scala | 12 +- .../org/apache/spark/dict/NBucketDictionary.java | 62 +- .../spark/dict/NGlobalDictBuilderAssist.scala | 5 +- .../apache/spark/dict/NGlobalDictHDFSStore.java | 10 +- .../org/apache/spark/dict/NGlobalDictS3Store.java | 16 +- .../org/apache/spark/dict/NGlobalDictStore.java | 4 +- .../org/apache/spark/dict/NGlobalDictionaryV2.java | 107 ++- .../sql/execution/datasource/FilePruner.scala | 4 + .../streaming/manager/StreamingJobManager.java | 9 +- .../apache/kylin/helper/MetadataToolHelper.java | 139 +++- .../org/apache/kylin/tool/MaintainModeTool.java | 4 +- .../apache/kylin/tool/garbage/StorageCleaner.java | 22 +- .../kylin/tool/security/KylinPasswordResetCLI.java | 10 +- .../kylin/tool/upgrade/UpdateProjectCLI.java | 29 +- .../kylin/tool}/util/CreateTableFromJson.java | 31 +- .../java/org/apache/kylin/tool/util/LdapUtils.java | 12 +- .../util/ProjectTemporaryTableCleanerHelper.java | 4 +- .../org/apache/kylin/tool/AuditLogToolTest.java | 11 +- .../org/apache/kylin/tool/MetadataToolTest.java | 57 ++ .../apache/kylin/tool/MetadataToolTestFixture.java | 2 +- .../apache/kylin/tool/YarnApplicationToolTest.java | 11 +- .../kylin/tool/routine/MaintainModeToolTest.java | 40 +- .../tool/security/KylinPasswordResetCLITest.java | 11 +- .../kylin/tool/util/CreateTableFromJsonTest.java | 68 ++ .../org/apache/kylin/tool/util/LdapUtilsTest.java | 57 ++ .../ProjectTemporaryTableCleanerHelperTest.java | 5 +- 424 files changed, 16899 insertions(+), 4212 deletions(-) create mode 100755 build/bin/create-table.sh create mode 100644 src/common-service/src/main/java/org/apache/kylin/rest/cache/AbstractKylinCache.java copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/util/scd2/SCD2Exception.java => common-service/src/main/java/org/apache/kylin/rest/cache/CacheConstant.java} (73%) create mode 100644 src/common-service/src/main/java/org/apache/kylin/rest/cache/RedisCacheV2.java copy src/{spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/kylin/OnlyForTestCacheFileSystem.java => common-service/src/main/java/org/apache/kylin/rest/request/SyncFileSegmentsRequest.java} (68%) copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/favorite/AbstractAsyncTask.java => common-service/src/main/java/org/apache/kylin/rest/response/SyncFileSegmentsResponse.java} (68%) copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/util/scd2/SCD2Exception.java => common-service/src/test/java/org/apache/kylin/rest/cache/CacheConstantTest.java} (71%) copy src/{core-common/src/test/java/org/apache/kylin/common/util/ClassUtilTest.java => common-service/src/test/java/org/apache/kylin/rest/cache/RedisCacheTest.java} (64%) create mode 100644 src/common-service/src/test/java/org/apache/kylin/rest/cache/RedisCacheV2Test.java copy src/{core-common/src/test/java/org/apache/kylin/common/util/ClassUtilTest.java => common-service/src/test/java/org/apache/kylin/rest/util/InitResourceGroupUtilsTest.java} (56%) create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/AbstractMemoryLock.java copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/util/scd2/SCD2Exception.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/DeadLockException.java} (82%) copy src/{spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/kylin/OnlyForTestCacheFileSystem.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/DeadLockHandler.java} (50%) create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/DeadLockInfo.java copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/NonEquiJoinConditionType.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/IntentionLock.java} (82%) create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/IntentionReadWriteLock.java create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/IntentionShareLock.java copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/util/scd2/SCD2Exception.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/LockInterruptException.java} (80%) copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/util/scd2/SimplifiedJoinDesc.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/LockManager.java} (51%) copy src/{spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/kylin/OnlyForTestCacheFileSystem.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/LockManagerInstance.java} (68%) copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/util/scd2/SCD2Exception.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/LockTimeoutException.java} (81%) copy src/{spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/kylin/OnlyForTestCacheFileSystem.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/MemoryLock.java} (69%) create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/MemoryLockGraph.java create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/MemoryLockManager.java create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/MemoryLockUtils.java copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/usergroup/UserGroup.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/ModuleLock.java} (51%) create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/ModuleLockEnum.java copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/NonEquiJoinConditionType.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/OptimisticLockRetryException.java} (82%) copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/favorite/AbstractAsyncTask.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/PathLock.java} (59%) copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/favorite/AbstractAsyncTask.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/ProjectLock.java} (58%) create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/ResourcePathParser.java copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/NonEquiJoinConditionType.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/TempLock.java} (82%) create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/TransactionDeadLockHandler.java copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/NonEquiJoinConditionType.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/TransactionLock.java} (72%) copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/util/scd2/SimplifiedJoinDesc.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/TransactionLockManager.java} (52%) copy src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/util/scd2/SCD2Exception.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/TransactionProjectLock.java} (74%) rename src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/util/scd2/SCD2Exception.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/TransactionTempLock.java} (73%) copy src/{spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/kylin/OnlyForTestCacheFileSystem.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/rule/LockEliminationRule.java} (65%) create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/rule/LockEliminationRuleExec.java create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/rule/LockInfo.java create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/rule/ModuleEliminationRule.java create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/lock/rule/PathEliminationRule.java copy src/{spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/kylin/OnlyForTestCacheFileSystem.java => core-common/src/main/java/org/apache/kylin/common/persistence/lock/rule/ProjectEliminationRule.java} (59%) delete mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/transaction/TransactionLock.java copy src/core-common/src/main/java/org/apache/kylin/common/{util/ThreadUtil.java => persistence/transaction/TransactionManagerInstance.java} (56%) copy src/{spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/kylin/OnlyForTestCacheFileSystem.java => core-common/src/main/java/org/apache/kylin/common/persistence/transaction/TransactionOptimisticLockManager.java} (68%) create mode 100644 src/core-common/src/main/java/org/apache/kylin/common/persistence/transaction/TransactionPessimisticLockManager.java create mode 100644 src/core-common/src/test/java/org/apache/kylin/common/persistence/lock/CloseWaitTest.java create mode 100644 src/core-common/src/test/java/org/apache/kylin/common/persistence/lock/MemoryLockGraphTest.java create mode 100644 src/core-common/src/test/java/org/apache/kylin/common/persistence/lock/rule/LockEliminationRuleExecTest.java rename src/core-common/src/test/java/org/apache/kylin/common/persistence/transaction/{TransactionLockTest.java => TransactionProjectLockTest.java} (89%) copy src/core-metadata/src/main/java/org/apache/kylin/metadata/{usergroup/UserGroup.java => model/FilePartitionDesc.java} (71%) rename src/core-metadata/src/main/java/org/apache/kylin/metadata/model/{tool => }/TruthTable.java (54%) delete mode 100644 src/core-metadata/src/main/java/org/apache/kylin/metadata/model/tool/JoinDescNonEquiCompBean.java delete mode 100644 src/core-metadata/src/main/java/org/apache/kylin/metadata/model/tool/NonEquiJoinConditionComparator.java delete mode 100644 src/core-metadata/src/main/java/org/apache/kylin/metadata/model/tool/NonEquiJoinConditionVisitor.java delete mode 100644 src/core-metadata/src/main/java/org/apache/kylin/metadata/model/tool/TypedLiteralConverter.java delete mode 100644 src/core-metadata/src/main/java/org/apache/kylin/metadata/model/util/scd2/SCD2NonEquiCondSimplification.java create mode 100644 src/core-metadata/src/main/java/org/apache/kylin/metadata/model/util/scd2/Scd2Simplifier.java create mode 100644 src/core-metadata/src/main/java/org/apache/kylin/metadata/query/NoopJdbcQueryHistoryStore.java create mode 100644 src/core-metadata/src/test/java/org/apache/kylin/metadata/cachesync/CachedCrudAssistTest.java create mode 100644 src/core-metadata/src/test/java/org/apache/kylin/metadata/model/NeqEquiJoinConditionTest.java delete mode 100644 src/core-metadata/src/test/java/org/apache/kylin/metadata/model/tool/NonEquiJoinConditionComparatorTest.java create mode 100644 src/core-metadata/src/test/java/org/apache/kylin/model/NDataModelTest.java create mode 100644 src/kylin-it/src/test/java/org/apache/kylin/query/rules/ScalarSubqueryJoinRuleTest.java create mode 100644 src/kylin-it/src/test/resources/org/apache/kylin/query/rules/ScalarSubqueryJoinRuleTest.xml create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query01.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query02.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query03.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query04.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query05.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query06.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query07.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query08.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query09.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query10.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query11.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query12.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query13.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query14.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query15.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query16.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query17.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query18.sql create mode 100644 src/kylin-it/src/test/resources/query/sql_scalar_subquery/query19.sql rename src/{core-metadata/src/main/java/org/apache/kylin/metadata/model/NonEquiJoinConditionType.java => query-service/src/main/java/org/apache/kylin/rest/request/QueryDetectRequest.java} (71%) create mode 100644 src/query-service/src/main/java/org/apache/kylin/rest/response/QueryDetectResponse.java create mode 100644 src/query-service/src/test/java/org/apache/kylin/rest/service/QueryCacheManagerTest.java create mode 100644 src/query/src/main/java/io/kyligence/kap/query/optrule/ScalarSubqueryJoinRule.java create mode 100644 src/spark-project/engine-spark/src/main/java/org/apache/kylin/engine/spark/job/MppOnTheFlyImpl.java create mode 100644 src/spark-project/engine-spark/src/main/scala/org/apache/kylin/engine/spark/builder/ZKHelper.scala create mode 100644 src/spark-project/kylin-soft-affinity-cache-hadoop3/pom.xml create mode 100644 src/spark-project/kylin-soft-affinity-cache-hadoop3/src/main/java/io/kyligence/kap/cache/kylin/KylinCacheFileSystemHadoop3.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/fs/ManagerOfCacheFileContent.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/fs/ManagerOfCacheFileStatus.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/softaffinity/SoftAffinityBookKeeping.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/softaffinity/SoftAffinityTextInputFormat.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/cache/utils/Hadoop3CompaUtil.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/fileseg/FileSegments.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/fileseg/FileSegmentsDetector.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/main/java/org/apache/kylin/hive/serde2/lazy/LazyQuoteAwareSerDe.java delete mode 100644 src/spark-project/kylin-soft-affinity-cache/src/test/java/org/apache/kylin/cache/fs/KylinCacheFileSystemTest.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/test/java/org/apache/kylin/cache/fs/ManagerOfCacheFileContentTest.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/test/java/org/apache/kylin/cache/fs/ManagerOfCacheFileStatusTest.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/test/java/org/apache/kylin/cache/kylin/KylinCacheFileSystemTest.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/test/java/org/apache/kylin/hive/serde2/lazy/lazy/LazyQuoteAwareSerDeTest.java create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/test/resources/default_3ywc6z78.emp/emp.csv create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/test/resources/default_3ywc6z78.emp/emp_data_1.csv create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/test/resources/log4j2.xml create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/test/scala/org/apache/kylin/cache/kylin/KylinCacheFileSystemWithSparkTest.scala create mode 100644 src/spark-project/kylin-soft-affinity-cache/src/test/scala/org/apache/spark/sql/hive/execution/HiveSoftAffinityAndLocalCacheTest.scala create mode 100644 src/spark-project/sparder/src/main/scala/org/apache/kylin/query/plugin/runtime/MppOnTheFlyProvider.java rename src/{core-metadata/src/main/java/org/apache/kylin/rest => tool/src/main/java/org/apache/kylin/tool}/util/CreateTableFromJson.java (81%) create mode 100644 src/tool/src/test/java/org/apache/kylin/tool/util/CreateTableFromJsonTest.java create mode 100644 src/tool/src/test/java/org/apache/kylin/tool/util/LdapUtilsTest.java