This is an automated email from the ASF dual-hosted git repository. xxyu pushed a change to branch kylin5 in repository https://gitbox.apache.org/repos/asf/kylin.git
from b2b3a6a8d2 KYLIN-5387 cost based index planner phase1 (#2089) new ca4f1d6000 KYLIN-5445 set epoch_target as primary key of epoch table new 4742188bde KYLIN-5445 minor fix isPrimaryKeyExists throw exception when using low version mysql driver new 665400c2bc KYLIN-5445 minor fix sonar new b5c3fb16d4 KYLIN-5445 fix connection new 306af607b2 KYLIN-5445 minor fix log new 8be8d54aa1 KYLIN-5446 remove systools module new 90e908b69e KYLIN-5447 Support Logical View new 22e0a9d8d2 KYLIN-5447 delete ddl pom new 7e9495c17c KYLIN-5448 [FOLLOWUP] Update sprint-boot version & independent tomcat config new c9769b0ca2 KYLIN-5449 refactor common-service kylin-tool new 80d5df4df2 KYLIN-5448 fix snyk vulnerabilities, upgrade protobuf-java from 3.16.1 to 3.16.3 new 5b41bca2ae KYLIN-5450 check if shard by columns included in col orders new 857a79edef KYLIN-5449 fix startup issue new f25edf0fca KYLIN-5448 fix snyk vulnerabilities, upgrade jettison from 1.1 to 1.5.2 new f044cdd593 KYLIN-5448 fix snyk vulnerabilities, upgrade netty-codec and netty-codec-haproxy from 4.1.85.Final to 4.1.86.Final new 7501e54df7 KYLIN-5448 update spring-boot-admin to 2.6.10 new b0c2589044 KYLIN-5451 Avoid multiple local ip acquisitions new 89b96f4743 KYLIN-5452 Optimise constant queries, add cache for getBindable new db624c3e89 KYLIN-5454 Downloading the async query result may cause OOM new cf0b7a83d0 KYLIN-5455 Added parameter check items for /api/models/semantic API. If PartitionDesc is null then set MultiPartitionDesc to null new eeaa487d31 KYLIN-5456 fix duplicate key when exporting tds new 85efb638f2 KYLIN-5457 Optimize NKylinUserManager and NUserGroupManager new 3aff4aa461 KYLIN-5447 wrap logical view response new 299bb67077 KYLIN-5458 max dimension combination doesn't work new 858d0ae6da KYLIN-5459 Partial Log Governance new 823300b39c KYLIN-5449 fix diagnose tool issue new 0074b3d29a [DIRTY] fix unstable UT new beabe662fd KYLIN-5457 fix user group delete new f27ee33528 KYLIN-5460 fix upgrade in resource group new 8f7f5eb5ff [DIRTY] fix unstable test new 19be14f9e6 KYLIN-5449 fix storage quota issue new 1cebc04393 KYLIN-5457 fix ldap authorize user group project permissions new a81cecac2c KYLIN-5461 Improve logical view descriptions new 7fe52b8741 KYLIN-5450 fix NPE while col_order is not required The 34 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/conf/kylin-server-log4j.xml | 48 +- pom.xml | 135 +++-- src/common-server/pom.xml | 37 -- .../kylin/rest/advice/BaseExceptionHandler.java | 60 +++ .../rest/config/initialize/BroadcastListener.java | 5 + .../kylin/rest/controller/NAdminController.java | 4 +- .../kylin/rest/controller/NBasicController.java | 85 +-- .../kylin/rest/controller/NSystemController.java | 10 +- .../rest/controller/fixture/FixtureController.java | 9 +- .../rest/controller/NBasicControllerTest.java | 11 +- src/common-service/pom.xml | 15 +- .../org/apache/kylin/helper/HelperConstants.java} | 15 +- .../apache/kylin/helper/MetadataToolHelper.java} | 569 +++++++++------------ .../org/apache/kylin/helper/RoutineToolHelper.java | 116 +++++ .../kylin/helper/UpdateUserAclToolHelper.java | 80 +++ .../apache/kylin/rest/KylinPrepareEnvListener.java | 3 + .../kylin/rest/aspect/SchedulerEnhancer.java | 2 +- .../apache/kylin/rest/broadcaster/Broadcaster.java | 8 +- .../apache/kylin/rest/monitor/MonitorReporter.java | 20 +- .../org/apache/kylin/rest/request/SQLRequest.java | 2 + .../rest/response/ExecutorMemoryResponse.java | 0 .../rest/response/ExecutorThreadInfoResponse.java | 0 .../kylin/rest/security/AdminUserAspect.java | 16 +- .../security/FillEmptyAuthorizationFilter.java | 0 .../apache/kylin/rest/service/AccessService.java | 19 +- .../kylin/rest/service/AsyncTaskService.java | 0 .../apache/kylin/rest/service/AuditLogService.java | 10 +- .../service/CaseInsensitiveKylinUserService.java | 62 +-- .../kylin/rest/service/KylinUserService.java | 80 ++- .../kylin/rest/service/LdapUserGroupService.java | 13 + .../kylin/rest/service/MetadataBackupService.java | 49 +- .../kylin/rest/service/NUserGroupService.java | 86 ++-- .../kylin/rest/service/OpenUserGroupService.java | 15 +- .../apache/kylin/rest/service/ProjectService.java | 7 +- .../apache/kylin/rest/service/SystemService.java | 36 +- .../apache/kylin/rest/service/UserAclService.java | 11 +- .../service/task/QueryHistoryTaskScheduler.java | 8 +- .../org/apache/kylin/tool/HDFSMetadataTool.java | 4 + .../apache/kylin/tool/constant/DiagTypeEnum.java | 0 .../org/apache/kylin/tool/constant/StageEnum.java | 0 .../org/apache/kylin/tool/daemon/CheckResult.java | 0 .../apache/kylin/tool/daemon/CheckStateEnum.java | 0 .../apache/kylin/tool/daemon/HealthChecker.java | 0 .../kylin/tool/daemon/KapGuardianHATask.java | 0 .../kylin/tool/daemon/ServiceOpLevelEnum.java | 0 .../java/org/apache/kylin/tool/daemon/Worker.java | 4 +- .../tool/daemon/checker/AbstractHealthChecker.java | 0 .../tool/daemon/checker/FullGCDurationChecker.java | 0 .../tool/daemon/checker/KEProcessChecker.java | 0 .../kylin/tool/daemon/checker/KEStatusChecker.java | 10 +- .../kylin/tool/garbage/ExecutableCleaner.java | 5 +- .../apache/kylin/tool/garbage/GarbageCleaner.java | 4 - .../apache/kylin/tool/garbage/IndexCleaner.java | 0 .../apache/kylin/tool/garbage/MetadataCleaner.java | 4 +- .../apache/kylin/tool/garbage/SnapshotCleaner.java | 5 +- .../kylin/tool/garbage/SourceUsageCleaner.java | 0 .../apache/kylin/tool/garbage/StorageCleaner.java | 88 ++-- .../tool/kerberos/DelegationTokenManager.java | 0 .../kylin/tool/kerberos/KerberosLoginUtil.java | 164 ++---- .../java/org/apache/kylin/tool/util/LdapUtils.java | 0 .../util/ProjectTemporaryTableCleanerHelper.java | 0 .../java/org/apache/kylin/tool/util/ToolUtil.java | 25 +- .../CaseInsensitiveKylinUserServiceTest.java | 12 +- .../kylin/rest/service/KylinUserServiceTest.java | 58 ++- .../kylin/rest/service/LdapUserServiceTest.java | 90 ++-- .../kylin/rest/service/NUserGroupServiceTest.java | 40 +- .../kylin/rest/service/OpenUserServiceTest.java | 32 +- .../kylin/rest/service/UserAclServiceTest.java | 5 +- .../ProjectTemporaryTableCleanerHelperTest.java | 0 .../org/apache/kylin/tool/util/ToolUtilTest.java | 0 .../org/apache/kylin/common/KylinConfigBase.java | 33 +- .../java/org/apache/kylin/common/QueryContext.java | 1 + .../apache/kylin/common/constant/LogConstant.java} | 20 +- .../exception/OutOfMaxCombinationException.java | 9 +- .../kylin/common/exception/ServerErrorCode.java | 1 + .../common/exception/code/ErrorCodeServer.java | 8 + .../org/apache/kylin/common/msg/CnMessage.java | 39 +- .../java/org/apache/kylin/common/msg/Message.java | 44 +- .../kylin/common/persistence/ResourceStore.java | 1 + .../persistence/metadata/JdbcEpochStore.java | 32 +- .../common/persistence/metadata/jdbc/JdbcUtil.java | 26 + .../transaction/AbstractAuditLogReplayWorker.java | 10 +- .../transaction/AuditLogReplayWorker.java | 18 +- .../transaction/LogicalViewBroadcastNotifier.java} | 17 +- .../common/persistence/transaction/UnitOfWork.java | 52 +- .../kylin/common/scheduler/EventBusFactory.java | 16 +- .../org/apache/kylin/common/util/AddressUtil.java | 20 +- .../java/org/apache/kylin/common/util/Pair.java | 2 +- .../kylin/query/exception/BusyQueryException.java | 0 .../org/apache/kylin/query/util/QueryLimiter.java | 2 +- .../kylin/rest/exception/ForbiddenException.java | 4 - .../rest/exception/InternalErrorException.java | 4 - .../kylin/rest/exception/NotFoundException.java | 4 - .../rest/exception/UnauthorizedException.java | 3 - .../org/apache/kylin/tool/util/HashFunction.java | 0 .../resources/kylin_error_msg_conf_cn.properties | 8 +- .../resources/kylin_error_msg_conf_en.properties | 10 + .../main/resources/kylin_errorcode_conf.properties | 8 + .../resources/kylin_errorcode_conf_en.properties | 1 + .../resources/kylin_errorcode_conf_zh.properties | 1 + .../resources/metadata-jdbc-default.properties | 4 +- .../src/main/resources/metadata-jdbc-h2.properties | 4 +- .../main/resources/metadata-jdbc-mysql.properties | 4 +- .../resources/metadata-jdbc-postgresql.properties | 4 +- .../apache/kylin/common/KylinConfigBaseTest.java | 18 + .../metadata/epochstore/JdbcEpochStoreTest.java | 15 + .../common/util/NLocalFileMetadataTestCase.java | 11 + .../apache/kylin/tool/util/HashFunctionTest.java | 0 .../kylin/job/execution/DefaultExecutable.java | 2 + .../kylin/job/execution/NExecutableManager.java | 2 - .../kylin/job/runners/QuotaStorageCheckRunner.java | 4 +- src/core-metadata/pom.xml | 11 +- .../org/apache/kylin/constants/AclConstants.java} | 20 +- .../metadata/cube/cuboid/CuboidScheduler.java | 6 +- .../metadata/cube/cuboid/KECuboidSchedulerV1.java | 24 +- .../metadata/cube/cuboid/KECuboidSchedulerV2.java | 21 +- .../cube/storage/GarbageStorageCollector.java | 5 + .../cube/storage/ProjectStorageInfoCollector.java | 16 +- .../cube/storage/StorageInfoCollector.java | 2 + .../cube/storage/StorageQuotaCollector.java | 5 + .../cube/storage/TotalStorageCollector.java | 13 +- .../apache/kylin/metadata/epoch/EpochManager.java | 116 +++-- .../apache/kylin/metadata/model/ISourceAware.java | 16 +- .../apache/kylin/metadata/model/NDataModel.java | 4 +- .../apache/kylin/metadata/model/PartitionDesc.java | 9 - .../org/apache/kylin/metadata/model/TableDesc.java | 4 + .../metadata/recommendation/ref/OptRecV2.java | 4 +- .../kylin/metadata/user/NKylinUserManager.java | 32 +- .../metadata/usergroup/NUserGroupManager.java | 26 +- .../apache/kylin/metadata/view/LogicalView.java | 71 +++ .../kylin/metadata/view/LogicalViewManager.java | 137 +++++ .../apache/kylin/metrics/HdfsCapacityMetrics.java | 118 +++-- .../org/apache/kylin/rest/security/AceImpl.java | 13 +- .../kylin/rest/security/AclEntityFactory.java | 24 +- .../apache/kylin/rest/security/AclEntityType.java | 9 +- .../org/apache/kylin/rest/security/AclManager.java | 22 +- .../apache/kylin/rest/security/AclPermission.java | 0 .../kylin/rest/security/AclPermissionEnum.java | 28 +- .../kylin/rest/security/AclPermissionFactory.java | 11 +- .../org/apache/kylin/rest/security/AclRecord.java | 6 +- .../rest/security/CompositeAclPermission.java | 0 .../kylin/rest/security/ExternalAclProvider.java | 45 +- .../kylin/rest/security/KerberosLoginManager.java | 29 +- .../rest/security/KylinAclPermissionEvaluator.java | 0 .../security/KylinPermissionGrantingStrategy.java | 0 .../apache/kylin/rest/security/LegacyAceInfo.java | 0 .../kylin/rest/security/MutableAclRecord.java | 2 +- .../rest/security/MutableHttpServletRequest.java | 0 .../rest/security/NoneBCryptPasswordEncoder.java | 0 .../kylin/rest/security/ObjectIdentityImpl.java | 9 +- .../security/PasswordPlaceholderConfigurer.java | 7 +- .../org/apache/kylin/rest/security/SidInfo.java | 5 +- .../org/apache/kylin/rest/security/UserAcl.java | 0 .../apache/kylin/rest/security/UserAclManager.java | 0 .../kylin/rest/security/UserLockRuleUtil.java | 5 +- .../org/apache/kylin/rest/service/AclService.java | 0 .../apache/kylin/rest/util/AclPermissionUtil.java | 9 +- .../java/org/apache/kylin/rest/util/AclUtil.java | 0 .../kylin/rest/util/CreateTableFromJson.java | 2 +- .../java/org/apache/kylin/util/DataRangeUtils.java | 96 ++++ .../cube/model/RuleBasedCuboidDescTest.java | 56 +- .../storage/ProjectStorageInfoCollectorTest.java | 23 +- .../kylin/metadata/epoch/EpochManagerTest.java | 110 ++++ .../streaming/StreamingJobRecordManagerTest.java | 1 - .../kylin/metadata/user/NKylinUserManagerTest.java | 71 +++ .../metadata/usergroup/NUserGroupManagerTest.java | 44 +- .../kylin/metrics/HdfsCapacityMetricsTest.java | 74 ++- .../rest/security/ExternalAclProviderTest.java | 0 .../KylinPermissionGrantingStrategyTest.java | 0 .../kylin/rest/security/UserAclManagerTest.java | 0 .../kylin/rest/util/AclPermissionUtilTest.java | 0 .../common/metrics/MetricsInfluxdbReporter.java | 4 +- src/data-loading-server/pom.xml | 2 +- .../kylin/rest/controller/BaseController.java | 57 --- .../kylin/rest/controller/SampleController.java | 3 +- .../kylin/rest/controller/SegmentController.java | 11 +- .../controller/open/OpenSegmentController.java | 3 +- .../rest/controller/v2/SegmentControllerV2.java | 3 +- .../kylin/rest/controller/BaseControllerTest.java | 23 +- src/data-loading-service/pom.xml | 11 + .../rest/scheduler/AutoRefreshSnapshotRunner.java | 8 +- .../org/apache/kylin/rest/service/JobService.java | 30 +- .../apache/kylin/rest/service/JobErrorTest.java | 0 .../apache/kylin/rest/service/JobServiceTest.java | 12 +- .../kylin/rest/service/MockClusterManager.java | 0 .../org/apache/kylin/rest/service/StageTest.java | 0 src/datasource-service/pom.xml | 9 - .../apache/kylin/rest}/ddl/SourceTableCheck.java | 61 ++- .../{ViewDDLRequest.java => ViewRequest.java} | 19 +- .../kylin/rest/response/LogicalViewResponse.java | 60 +++ .../apache/kylin/rest/service/SparkDDLService.java | 121 ++++- .../apache/kylin/rest/service/TableExtService.java | 43 +- .../apache/kylin/rest/service/TableService.java | 7 +- .../org/apache/kylin/rest/ddl/ViewCheck.scala | 254 +++++++++ .../apache/kylin/rest/service/SparkDDLTest.java | 261 ++++++++-- .../spark/sql/common/SparkDDLTestUtils.scala | 3 +- src/job-service/pom.xml | 20 - .../apache/kylin/rest/service/ScheduleService.java | 20 +- .../config/initialize/SchedulerEventBusTest.java | 147 +++--- src/kylin-it/pom.xml | 4 + .../org/apache/kylin/newten/LogicalViewTest.java | 91 ++++ .../kylin/rest/broadcaster/BroadcasterTest.java | 35 ++ .../_global/logical_view/LOGICAL_VIEW_TABLE | 9 + .../metadata/_global/project/logical_view.json | 6 + .../451e127a-b684-1474-744b-c9afc14378af.json | 18 + .../451e127a-b684-1474-744b-c9afc14378af.json | 63 +++ .../451e127a-b684-1474-744b-c9afc14378af.json | 149 ++++++ .../KYLIN_LOGICAL_VIEW.LOGICAL_VIEW_TABLE.json | 68 +++ .../metadata/logical_view/table/SSB.CUSTOMER.json | 68 +++ src/metadata-server/pom.xml | 33 +- .../rest/controller/open/OpenModelController.java | 5 +- .../rest/controller/NMetaStoreController.java | 3 +- .../kylin/rest/controller/NModelController.java | 5 +- .../kylin/rest/controller/SparkDDLController.java | 41 +- .../controller/v2/NProjectControllerKylin.java | 3 +- .../rest/controller/IndexPlanControllerTest.java | 21 +- .../rest/controller/SparkDDLControllerTest.java | 37 +- src/modeling-service/pom.xml | 8 +- .../rest/request/UpdateRuleBasedCuboidRequest.java | 2 +- .../kylin/rest/service/IndexPlanService.java | 4 + .../kylin/rest/service/MetaStoreService.java | 31 +- .../apache/kylin/rest/service/ModelTdsService.java | 38 +- .../org/apache/kylin/tool/bisync/BISyncModel.java | 0 .../kylin/tool/bisync/BISyncModelConverter.java | 0 .../org/apache/kylin/tool/bisync/BISyncTool.java | 0 .../org/apache/kylin/tool/bisync/SyncContext.java | 0 .../apache/kylin/tool/bisync/SyncModelBuilder.java | 12 +- .../apache/kylin/tool/bisync/model/ColumnDef.java | 6 +- .../kylin/tool/bisync/model/JoinTreeNode.java | 3 +- .../apache/kylin/tool/bisync/model/MeasureDef.java | 0 .../apache/kylin/tool/bisync/model/SyncModel.java | 0 .../bisync/tableau/TableauDataSourceConverter.java | 2 +- .../bisync/tableau/TableauDatasourceModel.java | 4 +- .../tool/bisync/tableau/datasource/Aliases.java | 0 .../tool/bisync/tableau/datasource/DrillPath.java | 13 - .../tool/bisync/tableau/datasource/DrillPaths.java | 0 .../tool/bisync/tableau/datasource/Layout.java | 0 .../bisync/tableau/datasource/SemanticValue.java | 0 .../tableau/datasource/SemanticValueList.java | 0 .../tableau/datasource/TableauConnection.java | 0 .../tableau/datasource/TableauDatasource.java | 0 .../tableau/datasource/column/Calculation.java | 0 .../bisync/tableau/datasource/column/Column.java | 0 .../bisync/tableau/datasource/connection/Col.java | 0 .../bisync/tableau/datasource/connection/Cols.java | 0 .../tableau/datasource/connection/Connection.java | 0 .../connection/ConnectionCustomization.java | 0 .../datasource/connection/NamedConnection.java | 0 .../datasource/connection/NamedConnectionList.java | 0 .../connection/customization/Customization.java | 0 .../customization/CustomizationList.java | 0 .../connection/customization/Driver.java | 0 .../connection/customization/Vendor.java | 0 .../datasource/connection/metadata/Attribute.java | 0 .../connection/metadata/AttributeList.java | 0 .../datasource/connection/metadata/Collation.java | 0 .../connection/metadata/MetadataRecord.java | 0 .../connection/metadata/MetadataRecordList.java | 0 .../datasource/connection/relation/Clause.java | 0 .../datasource/connection/relation/Expression.java | 0 .../datasource/connection/relation/Relation.java | 0 .../bisync/tableau/mapping/FunctionMapping.java | 0 .../tool/bisync/tableau/mapping/Mappings.java | 0 .../tool/bisync/tableau/mapping/TypeMapping.java | 0 .../bisync/tds/tableau.connector.template.xml | 0 .../main/resources/bisync/tds/tableau.mappings.xml | 0 .../main/resources/bisync/tds/tableau.template.xml | 0 .../kylin/rest/service/IndexPlanServiceTest.java | 148 +++++- .../kylin/rest/service/ModelServiceTest.java | 2 +- .../service/ModelTdsServiceColumnNameTest.java | 128 +++++ .../kylin/rest/service/ModelTdsServiceTest.java | 12 +- .../kylin/tool/bisync/SyncModelBuilderTest.java | 0 .../kylin/tool/bisync/SyncModelTestUtil.java | 0 .../tool/bisync/tableau/TableauDatasourceTest.java | 0 .../bisync_tableau/nmodel_basic_all_cols.tds | 0 .../bisync_tableau/nmodel_basic_inner_all_cols.tds | 0 .../nmodel_full_measure_test.connector.tds | 2 +- .../nmodel_full_measure_test.connector_cc.tds | 0 ...nmodel_full_measure_test.connector_cc_admin.tds | 0 ...del_full_measure_test.connector_hierarchies.tds | 0 ..._full_measure_test.connector_no_hierarchies.tds | 0 ...odel_full_measure_test.connector_permission.tds | 0 ...ure_test.connector_permission_agg_index_col.tds | 0 ...l_measure_test.connector_permission_all_col.tds | 0 ...easure_test.connector_permission_no_measure.tds | 0 ...del_full_measure_test.table_index_connector.tds | 0 .../bisync_tableau/nmodel_full_measure_test.tds | 0 .../metadata/_global/project/test_tds_export.json | 35 ++ .../8b6fa01d-1607-9459-81aa-115b9419b830.json | 93 ++++ .../8b6fa01d-1607-9459-81aa-115b9419b830.json | 63 +++ .../8b6fa01d-1607-9459-81aa-115b9419b830.json | 262 ++++++++++ .../test_tds_export/table/SSB.LINEORDER.json | 113 ++++ .../test_tds_export/table/SSB.P_LINEORDER.json | 118 +++++ .../apache/kylin/query/util/AsyncQueryUtil.java | 9 +- src/query-server/pom.xml | 10 +- .../rest/controller/NAsyncQueryController.java | 39 +- .../rest/controller/NAsyncQueryControllerV2.java | 24 +- .../kylin/rest/controller/NQueryController.java | 3 +- .../rest/controller/SparkSourceController.java | 0 .../rest/controller/NAsyncQueryControllerTest.java | 98 ++-- .../controller/NAsyncQueryControllerV2Test.java | 40 +- .../rest/controller/SparkSourceControllerTest.java | 0 src/query-service/pom.xml | 51 +- .../kylin/rest/request/AsyncQuerySQLRequestV2.java | 3 + .../kylin/rest/service/AsyncQueryService.java | 83 +-- .../org/apache/kylin/rest/service/CSVWriter.java | 120 ----- .../apache/kylin/rest/service/MonitorService.java | 39 +- .../kylin/rest/service/QueryCacheManager.java | 8 +- .../apache/kylin/rest/service/QueryService.java | 8 +- .../apache/kylin/rest/service/XLSXExcelWriter.java | 155 ------ .../kylin/rest/service/AysncQueryServiceTest.java | 496 ++++++++++-------- src/second-storage/core-ui/pom.xml | 2 +- src/server/pom.xml | 4 + .../org/apache/kylin/rest/HAConfigurationTest.java | 6 +- .../engine/spark/application/SparkApplication.java | 81 ++- .../engine/spark/job/NResourceDetectStep.java | 4 +- .../kylin/engine/spark/job/NSparkCubingStep.java | 6 +- .../kylin/engine/spark/job/NSparkExecutable.java | 26 + .../kylin/engine/spark/job/NSparkMergingStep.java | 6 +- .../spark/job/NSparkSnapshotBuildingStep.java | 1 + .../kylin/engine/spark/job/NTableSamplingJob.java | 2 +- .../kylin/engine/spark/mockup/CsvSource.java | 19 +- .../spark/source/NSparkMetadataExplorer.java | 30 +- .../engine/spark/builder/SegmentFlatTable.scala | 22 +- .../engine/spark/job/RDSegmentBuildExec.scala | 5 +- .../kylin/engine/spark/job/SegmentBuildJob.java | 2 + .../apache/kylin/engine/spark/job/SegmentJob.java | 4 +- .../kylin/engine/spark/job/exec/BuildExec.scala | 8 +- .../kylin/engine/spark/job/exec/MergeExec.scala | 2 + .../kylin/engine/spark/job/exec/SnapshotExec.scala | 2 + .../engine/spark/job/exec/TableAnalyzerExec.scala | 2 + .../kylin/engine/spark/job/stage/StageExec.scala | 2 + .../engine/spark/job/stage/WaiteForResource.scala | 2 + .../engine/spark/job/stage/build/BuildDict.scala | 2 + .../engine/spark/job/stage/build/BuildLayer.scala | 2 + .../spark/job/stage/build/CostBasedPlanner.scala | 2 + .../job/stage/build/FlatTableAndDictBase.scala | 5 + .../job/stage/build/GatherFlatTableStats.scala | 2 + .../spark/job/stage/build/GenerateFlatTable.scala | 2 + .../stage/build/MaterializedFactTableView.scala | 2 + .../spark/job/stage/build/RefreshColumnBytes.scala | 2 + .../spark/job/stage/build/RefreshSnapshots.scala | 2 + .../stage/build/partition/PartitionBuildDict.scala | 2 + .../build/partition/PartitionBuildLayer.scala | 2 + .../partition/PartitionCostBasedPlanner.scala | 2 + .../partition/PartitionGatherFlatTableStats.scala | 1 + .../partition/PartitionGenerateFlatTable.scala | 2 + .../PartitionMaterializedFactTableView.scala | 2 + .../partition/PartitionRefreshColumnBytes.scala | 2 + .../spark/job/stage/merge/MergeColumnBytes.scala | 2 + .../spark/job/stage/merge/MergeFlatTable.scala | 2 + .../spark/job/stage/merge/MergeIndices.scala | 2 + .../partition/PartitionMergeColumnBytes.scala | 2 + .../merge/partition/PartitionMergeFlatTable.scala | 2 + .../merge/partition/PartitionMergeIndices.scala | 2 + .../spark/job/stage/snapshots/SnapshotsBuild.scala | 2 + .../job/stage/tablesampling/AnalyzerTable.scala | 2 + .../engine/spark/NLocalWithSparkSessionTest.java | 5 +- .../rest/security/KerberosLoginManagerTest.java | 0 .../spark/job/stage/WaiteForResourceTest.scala} | 20 +- .../job/stage/build/RefreshColumnBytesTest.scala} | 37 +- .../job/stage/build/RefreshSnapshotsTest.scala} | 18 +- .../PartitionRefreshColumnBytesTest.scala} | 30 +- .../job/stage/merge/MergeColumnBytesTest.scala} | 18 +- .../spark/job/stage/merge/MergeStageTest.scala | 2 + .../partition/PartitionMergeColumnBytesTest.scala} | 18 +- .../org/apache/spark/utils/TestResourceUtils.scala | 6 + .../main/java/org/apache}/spark/ddl/DDLCheck.java | 15 +- .../org/apache}/spark/ddl/DDLCheckContext.java | 31 +- .../java/org/apache/spark/ddl/DDLConstant.java} | 29 +- .../org/apache/spark/sql/LogicalViewLoader.java | 195 +++++++ .../kylin/query/pushdown/SparkSqlClient.scala | 51 +- .../kylin/query/runtime/plan/ResultPlan.scala | 214 ++++++-- .../scala/org/apache/spark/sql/KylinSession.scala | 22 +- .../scala/org/apache/spark/sql/SparderEnv.scala | 20 +- .../common/asyncprofiler/AsyncProfilerUtils.java | 2 +- .../org/apache/kylin/common/CustomUtils.scala} | 15 +- src/spark-project/spark-ddl-plugin/pom.xml | 77 --- .../services/org.apache.kylin.spark.ddl.DDLCheck | 2 - .../org/apache/kylin/spark/ddl/ViewCheck.scala | 123 ----- src/systools/pom.xml | 115 ----- src/tool/pom.xml | 14 +- .../kylin/tool/AbstractInfoExtractorTool.java | 2 +- .../java/org/apache/kylin/tool/KylinLogTool.java | 2 +- .../java/org/apache/kylin/tool/MetadataTool.java | 454 ++-------------- .../java/org/apache/kylin/tool/RollbackTool.java | 28 +- .../daemon/handler/AbstractCheckStateHandler.java | 4 +- .../apache/kylin/tool/routine/FastRoutineTool.java | 15 +- .../org/apache/kylin/tool/routine/RoutineTool.java | 118 +---- .../kylin/tool/upgrade/UpdateUserAclTool.java | 55 +- .../org/apache/kylin/tool/util/MetadataUtil.java | 9 +- .../org/apache/kylin/tool/MetadataToolTest.java | 53 +- .../tool/security/KylinPasswordResetCLITest.java | 9 +- .../kylin/tool/upgrade/UpdateUserAclToolTest.java | 5 +- .../nmodel_full_measure_test.connector.tds | 125 ----- 395 files changed, 6367 insertions(+), 4034 deletions(-) create mode 100644 src/common-server/src/main/java/org/apache/kylin/rest/advice/BaseExceptionHandler.java rename src/{common-service => common-server}/src/main/java/org/apache/kylin/rest/controller/NBasicController.java (89%) rename src/{common-service/src/test => common-server/src/main}/java/org/apache/kylin/rest/controller/fixture/FixtureController.java (82%) rename src/{common-service => common-server}/src/test/java/org/apache/kylin/rest/controller/NBasicControllerTest.java (96%) copy src/{systools/src/main/java/org/apache/kylin/rest/security/AclEntityType.java => common-service/src/main/java/org/apache/kylin/helper/HelperConstants.java} (65%) copy src/{tool/src/main/java/org/apache/kylin/tool/MetadataTool.java => common-service/src/main/java/org/apache/kylin/helper/MetadataToolHelper.java} (59%) create mode 100644 src/common-service/src/main/java/org/apache/kylin/helper/RoutineToolHelper.java create mode 100644 src/common-service/src/main/java/org/apache/kylin/helper/UpdateUserAclToolHelper.java rename src/{data-loading-service => common-service}/src/main/java/org/apache/kylin/rest/response/ExecutorMemoryResponse.java (100%) rename src/{data-loading-service => common-service}/src/main/java/org/apache/kylin/rest/response/ExecutorThreadInfoResponse.java (100%) rename src/{systools => common-service}/src/main/java/org/apache/kylin/rest/security/FillEmptyAuthorizationFilter.java (100%) rename src/{job-service => common-service}/src/main/java/org/apache/kylin/rest/service/AsyncTaskService.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/HDFSMetadataTool.java (98%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/constant/DiagTypeEnum.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/constant/StageEnum.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/daemon/CheckResult.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/daemon/CheckStateEnum.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/daemon/HealthChecker.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/daemon/KapGuardianHATask.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/daemon/ServiceOpLevelEnum.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/daemon/Worker.java (97%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/daemon/checker/AbstractHealthChecker.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/daemon/checker/FullGCDurationChecker.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/daemon/checker/KEProcessChecker.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/daemon/checker/KEStatusChecker.java (96%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/garbage/ExecutableCleaner.java (95%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/garbage/GarbageCleaner.java (94%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/garbage/IndexCleaner.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/garbage/MetadataCleaner.java (92%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/garbage/SnapshotCleaner.java (96%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/garbage/SourceUsageCleaner.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/garbage/StorageCleaner.java (92%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/kerberos/DelegationTokenManager.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/kerberos/KerberosLoginUtil.java (71%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/util/LdapUtils.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/util/ProjectTemporaryTableCleanerHelper.java (100%) rename src/{tool => common-service}/src/main/java/org/apache/kylin/tool/util/ToolUtil.java (90%) rename src/{tool => common-service}/src/test/java/org/apache/kylin/tool/util/ProjectTemporaryTableCleanerHelperTest.java (100%) rename src/{tool => common-service}/src/test/java/org/apache/kylin/tool/util/ToolUtilTest.java (100%) copy src/{query-common/src/main/java/org/apache/kylin/tool/bisync/model/MeasureDef.java => core-common/src/main/java/org/apache/kylin/common/constant/LogConstant.java} (70%) copy src/{datasource-service/src/main/java/org/apache/kylin/rest/request/ViewDDLRequest.java => core-common/src/main/java/org/apache/kylin/common/persistence/transaction/LogicalViewBroadcastNotifier.java} (75%) rename src/{query => core-common}/src/main/java/org/apache/kylin/query/exception/BusyQueryException.java (100%) rename src/{query => core-common}/src/main/java/org/apache/kylin/query/util/QueryLimiter.java (98%) rename src/{systools => core-common}/src/main/java/org/apache/kylin/rest/exception/ForbiddenException.java (92%) rename src/{systools => core-common}/src/main/java/org/apache/kylin/rest/exception/InternalErrorException.java (93%) rename src/{systools => core-common}/src/main/java/org/apache/kylin/rest/exception/NotFoundException.java (92%) rename src/{systools => core-common}/src/main/java/org/apache/kylin/rest/exception/UnauthorizedException.java (88%) rename src/{tool => core-common}/src/main/java/org/apache/kylin/tool/util/HashFunction.java (100%) rename src/{tool => core-common}/src/test/java/org/apache/kylin/tool/util/HashFunctionTest.java (100%) copy src/{query-common/src/main/java/org/apache/kylin/tool/bisync/model/MeasureDef.java => core-metadata/src/main/java/org/apache/kylin/constants/AclConstants.java} (65%) create mode 100644 src/core-metadata/src/main/java/org/apache/kylin/metadata/view/LogicalView.java create mode 100644 src/core-metadata/src/main/java/org/apache/kylin/metadata/view/LogicalViewManager.java rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/AceImpl.java (94%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/AclEntityFactory.java (78%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/AclEntityType.java (81%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/AclManager.java (93%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/AclPermission.java (100%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/AclPermissionEnum.java (70%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/AclPermissionFactory.java (93%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/AclRecord.java (98%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/CompositeAclPermission.java (100%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/ExternalAclProvider.java (78%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/KerberosLoginManager.java (85%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/KylinAclPermissionEvaluator.java (100%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/KylinPermissionGrantingStrategy.java (100%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/LegacyAceInfo.java (100%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/MutableAclRecord.java (98%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/MutableHttpServletRequest.java (100%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/NoneBCryptPasswordEncoder.java (100%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/ObjectIdentityImpl.java (96%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/PasswordPlaceholderConfigurer.java (96%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/SidInfo.java (96%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/UserAcl.java (100%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/UserAclManager.java (100%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/security/UserLockRuleUtil.java (95%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/service/AclService.java (100%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/util/AclPermissionUtil.java (97%) rename src/{systools => core-metadata}/src/main/java/org/apache/kylin/rest/util/AclUtil.java (100%) create mode 100644 src/core-metadata/src/main/java/org/apache/kylin/util/DataRangeUtils.java create mode 100644 src/core-metadata/src/test/java/org/apache/kylin/metadata/user/NKylinUserManagerTest.java rename src/{systools => core-metadata}/src/test/java/org/apache/kylin/rest/security/ExternalAclProviderTest.java (100%) rename src/{systools => core-metadata}/src/test/java/org/apache/kylin/rest/security/KylinPermissionGrantingStrategyTest.java (100%) rename src/{systools => core-metadata}/src/test/java/org/apache/kylin/rest/security/UserAclManagerTest.java (100%) rename src/{systools => core-metadata}/src/test/java/org/apache/kylin/rest/util/AclPermissionUtilTest.java (100%) rename src/{job-service => data-loading-service}/src/test/java/org/apache/kylin/rest/service/JobErrorTest.java (100%) rename src/{job-service => data-loading-service}/src/test/java/org/apache/kylin/rest/service/JobServiceTest.java (99%) rename src/{job-service => data-loading-service}/src/test/java/org/apache/kylin/rest/service/MockClusterManager.java (100%) rename src/{job-service => data-loading-service}/src/test/java/org/apache/kylin/rest/service/StageTest.java (100%) rename src/{spark-project/spark-ddl-plugin/src/main/java/org/apache/kylin/spark => datasource-service/src/main/java/org/apache/kylin/rest}/ddl/SourceTableCheck.java (54%) rename src/datasource-service/src/main/java/org/apache/kylin/rest/request/{ViewDDLRequest.java => ViewRequest.java} (72%) create mode 100644 src/datasource-service/src/main/java/org/apache/kylin/rest/response/LogicalViewResponse.java create mode 100644 src/datasource-service/src/main/scala/org/apache/kylin/rest/ddl/ViewCheck.scala create mode 100644 src/kylin-it/src/test/java/org/apache/kylin/newten/LogicalViewTest.java create mode 100644 src/kylin-it/src/test/resources/ut_meta/logical_view/metadata/_global/logical_view/LOGICAL_VIEW_TABLE create mode 100644 src/kylin-it/src/test/resources/ut_meta/logical_view/metadata/_global/project/logical_view.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/logical_view/metadata/logical_view/dataflow/451e127a-b684-1474-744b-c9afc14378af.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/logical_view/metadata/logical_view/index_plan/451e127a-b684-1474-744b-c9afc14378af.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/logical_view/metadata/logical_view/model_desc/451e127a-b684-1474-744b-c9afc14378af.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/logical_view/metadata/logical_view/table/KYLIN_LOGICAL_VIEW.LOGICAL_VIEW_TABLE.json create mode 100644 src/kylin-it/src/test/resources/ut_meta/logical_view/metadata/logical_view/table/SSB.CUSTOMER.json rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/BISyncModel.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/BISyncModelConverter.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/BISyncTool.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/SyncContext.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/SyncModelBuilder.java (97%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/model/ColumnDef.java (90%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/model/JoinTreeNode.java (96%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/model/MeasureDef.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/model/SyncModel.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/TableauDataSourceConverter.java (99%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/TableauDatasourceModel.java (95%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/Aliases.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/DrillPath.java (80%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/DrillPaths.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/Layout.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/SemanticValue.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/SemanticValueList.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/TableauConnection.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/TableauDatasource.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/column/Calculation.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/column/Column.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/Col.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/Cols.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/Connection.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/ConnectionCustomization.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/NamedConnection.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/NamedConnectionList.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/customization/Customization.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/customization/CustomizationList.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/customization/Driver.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/customization/Vendor.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/metadata/Attribute.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/metadata/AttributeList.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/metadata/Collation.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/metadata/MetadataRecord.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/metadata/MetadataRecordList.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/relation/Clause.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/relation/Expression.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/datasource/connection/relation/Relation.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/mapping/FunctionMapping.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/mapping/Mappings.java (100%) rename src/{query-common => modeling-service}/src/main/java/org/apache/kylin/tool/bisync/tableau/mapping/TypeMapping.java (100%) rename src/{tool => modeling-service}/src/main/resources/bisync/tds/tableau.connector.template.xml (100%) rename src/{tool => modeling-service}/src/main/resources/bisync/tds/tableau.mappings.xml (100%) rename src/{tool => modeling-service}/src/main/resources/bisync/tds/tableau.template.xml (100%) create mode 100644 src/modeling-service/src/test/java/org/apache/kylin/rest/service/ModelTdsServiceColumnNameTest.java rename src/{tool => modeling-service}/src/test/java/org/apache/kylin/tool/bisync/SyncModelBuilderTest.java (100%) rename src/{tool => modeling-service}/src/test/java/org/apache/kylin/tool/bisync/SyncModelTestUtil.java (100%) rename src/{tool => modeling-service}/src/test/java/org/apache/kylin/tool/bisync/tableau/TableauDatasourceTest.java (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_basic_all_cols.tds (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_basic_inner_all_cols.tds (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_full_measure_test.connector_cc.tds (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_full_measure_test.connector_cc_admin.tds (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_full_measure_test.connector_hierarchies.tds (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_full_measure_test.connector_no_hierarchies.tds (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_full_measure_test.connector_permission.tds (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_full_measure_test.connector_permission_agg_index_col.tds (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_full_measure_test.connector_permission_all_col.tds (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_full_measure_test.connector_permission_no_measure.tds (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_full_measure_test.table_index_connector.tds (100%) rename src/{tool => modeling-service}/src/test/resources/bisync_tableau/nmodel_full_measure_test.tds (100%) create mode 100644 src/modeling-service/src/test/resources/ut_meta/tds_export_test/metadata/_global/project/test_tds_export.json create mode 100644 src/modeling-service/src/test/resources/ut_meta/tds_export_test/metadata/test_tds_export/dataflow/8b6fa01d-1607-9459-81aa-115b9419b830.json create mode 100644 src/modeling-service/src/test/resources/ut_meta/tds_export_test/metadata/test_tds_export/index_plan/8b6fa01d-1607-9459-81aa-115b9419b830.json create mode 100644 src/modeling-service/src/test/resources/ut_meta/tds_export_test/metadata/test_tds_export/model_desc/8b6fa01d-1607-9459-81aa-115b9419b830.json create mode 100644 src/modeling-service/src/test/resources/ut_meta/tds_export_test/metadata/test_tds_export/table/SSB.LINEORDER.json create mode 100644 src/modeling-service/src/test/resources/ut_meta/tds_export_test/metadata/test_tds_export/table/SSB.P_LINEORDER.json rename src/{common-server => query-server}/src/main/java/org/apache/kylin/rest/controller/SparkSourceController.java (100%) rename src/{common-server => query-server}/src/test/java/org/apache/kylin/rest/controller/SparkSourceControllerTest.java (100%) delete mode 100644 src/query-service/src/main/java/org/apache/kylin/rest/service/CSVWriter.java delete mode 100644 src/query-service/src/main/java/org/apache/kylin/rest/service/XLSXExcelWriter.java rename src/{systools => spark-project/engine-spark}/src/test/java/org/apache/kylin/rest/security/KerberosLoginManagerTest.java (100%) copy src/spark-project/engine-spark/src/{main/scala/org/apache/kylin/engine/spark/job/stage/snapshots/SnapshotsBuild.scala => test/scala/org/apache/kylin/engine/spark/job/stage/WaiteForResourceTest.scala} (62%) copy src/spark-project/engine-spark/src/{main/scala/org/apache/kylin/engine/spark/job/stage/build/GatherFlatTableStats.scala => test/scala/org/apache/kylin/engine/spark/job/stage/build/RefreshColumnBytesTest.scala} (52%) copy src/spark-project/engine-spark/src/{main/scala/org/apache/kylin/engine/spark/job/stage/build/BuildLayer.scala => test/scala/org/apache/kylin/engine/spark/job/stage/build/RefreshSnapshotsTest.scala} (69%) copy src/spark-project/engine-spark/src/{main/scala/org/apache/kylin/engine/spark/job/stage/build/partition/PartitionGenerateFlatTable.scala => test/scala/org/apache/kylin/engine/spark/job/stage/build/partition/PartitionRefreshColumnBytesTest.scala} (51%) copy src/spark-project/engine-spark/src/{main/scala/org/apache/kylin/engine/spark/job/stage/merge/MergeColumnBytes.scala => test/scala/org/apache/kylin/engine/spark/job/stage/merge/MergeColumnBytesTest.scala} (61%) copy src/spark-project/engine-spark/src/{main/scala/org/apache/kylin/engine/spark/job/stage/merge/partition/PartitionMergeColumnBytes.scala => test/scala/org/apache/kylin/engine/spark/job/stage/merge/partition/PartitionMergeColumnBytesTest.scala} (59%) rename src/spark-project/{spark-ddl-plugin/src/main/java/org/apache/kylin => sparder/src/main/java/org/apache}/spark/ddl/DDLCheck.java (77%) rename src/spark-project/{spark-ddl-plugin/src/main/java/org/apache/kylin => sparder/src/main/java/org/apache}/spark/ddl/DDLCheckContext.java (54%) copy src/spark-project/{engine-spark/src/main/scala/org/apache/kylin/engine/spark/job/exec/TableAnalyzerExec.scala => sparder/src/main/java/org/apache/spark/ddl/DDLConstant.java} (58%) create mode 100644 src/spark-project/sparder/src/main/java/org/apache/spark/sql/LogicalViewLoader.java copy src/{core-common/src/main/java/org/apache/kylin/common/exception/OutOfMaxCombinationException.java => spark-project/spark-common/src/main/scala/org/apache/kylin/common/CustomUtils.scala} (74%) delete mode 100644 src/spark-project/spark-ddl-plugin/pom.xml delete mode 100644 src/spark-project/spark-ddl-plugin/src/main/resources/META-INF/services/org.apache.kylin.spark.ddl.DDLCheck delete mode 100644 src/spark-project/spark-ddl-plugin/src/main/scala/org/apache/kylin/spark/ddl/ViewCheck.scala delete mode 100644 src/tool/src/test/resources/bisync_tableau/nmodel_full_measure_test.connector.tds