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 926e4d2b9a KYLIN-5848 update modules new cf32aa5cc2 KYLIN-5850 Enhancement of checking code style new b03278ad46 KYLIN-5851 Fix weak password configuration item new 705fc2d1ea KYLIN-5852 Support priority for jobScheduler new a072088cc2 KYLIN-5853 Optimize job_info and job_lock tables new fb02c2bf83 KYLIN-5854 In the R/W cluster, refreshed the snapshots automatically new 410698dc3d KYLIN-5855 Upgrade jars for security problems new 11af676016 KYLIN-5856 Merge content of KAPRel and OLAPRel into OlapRel new d34d6761c7 KYLIN-5857 Fix jobScheduler related problems new a354fbe23e KYLIN-5858 Upgrade the realization of query function `date_format` new b2e847a0e3 KYLIN-5859 Add cache in ProjectBundle for effectiveRewriteMeasures of table new dac9c8dd29 KYLIN-5860 Enable forbiddenapis check new aedb70fbed KYLIN-5861 Change package of query optimization rules new 132f4367b1 KYLIN-5862 Fix jobScheduler when resourceGroup is enabled new 098862e0b9 KYLIN-5863 Fix query bug caused by concurrent model deletions new d2176edd57 KYLIN-5864 Fix the query functions `ifnull` and `substring` new f2d5f586ad KYLIN-5865 Supports OlapFilterJoinRule.FILTER_ON_JOIN new 091e4709f3 KYLIN-5866 Desensitization of IP information in diagnostic package new dfbc63fc1d KYLIN-5867 Return job id for table sampling new 9e9f13582c KYLIN-5868 Add ifBigQuery API new 2561a21bd3 KYLIN-5869 Column ACL missing alias while reusing with-items new 64c7941daa KYLIN-5870 Fix async query status for out of segment range situation new 51c2df9475 KYLIN-5871 Fix OpenAPI on broken model deletion new e5e3f482e4 KYLIN-5872 Support getting comments of hive table/column for dimensions of model view new 3ef254379f KYLIN-5873 Check segment overlap before returning models new 0bfe5f075f KYLIN-5874 Change 'max concurrent limit' to project level config new 3914626750 KYLIN-5875 Enhance the simplification method of filter condition for segment pruning new c4e45aa956 KYLIN-5876 Avoid infinite match of OlapProjectMergeRule caused by project simplification new ad294fde01 KYLIN-5877 Upgrade table schema of recommendation new 46e6637071 KYLIN-5878 ReduceExpressionRule does not work for OlapRel new 41d541a6cf KYLIN-5879 Update spark version to 3.3.0-kylin-4.6.18.0 The 30 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/release/download-spark.sh | 1 - dev-support/checkstyle-apache.xml | 25 +- dev-support/forbidden-signatures.txt | 6 + .../io/kyligence/kap/secondstorage/NameUtil.java | 3 +- .../SecondStorageConcurrentTestUtil.java | 6 +- .../kap/secondstorage/SecondStorageLockUtils.java | 12 +- .../kap/secondstorage/SecondStorageNodeHelper.java | 36 +- .../secondstorage/SecondStorageQueryRouteUtil.java | 19 +- .../kap/secondstorage/SecondStorageUtil.java | 128 +- .../kap/secondstorage/config/ClusterInfo.java | 20 +- .../config/DefaultSecondStorageProperties.java | 14 +- .../kyligence/kap/secondstorage/config/Node.java | 4 +- .../kap/secondstorage/ddl/AlterTable.java | 4 +- .../kap/secondstorage/ddl/CreateTable.java | 12 +- .../io/kyligence/kap/secondstorage/ddl/DDL.java | 5 +- .../kap/secondstorage/ddl/InsertInto.java | 16 +- .../io/kyligence/kap/secondstorage/ddl/Select.java | 6 +- .../secondstorage/ddl/SkippingIndexChooser.java | 2 +- .../kap/secondstorage/ddl/exp/TableIdentifier.java | 3 +- .../ddl/visitor/DefaultSQLRender.java | 22 +- .../kap/secondstorage/enums/LockTypeEnum.java | 36 +- .../factory/SecondStorageFactoryUtils.java | 24 +- .../secondstorage/response/SecondStorageNode.java | 7 +- .../kap/secondstorage/util/ConvertUtils.java | 35 +- .../secondstorage/util/SecondStorageDateUtils.java | 4 +- .../secondstorage/util/SecondStorageJobUtil.java | 32 +- .../job/SecondStorageCleanJobBuildParams.java | 19 +- .../kylin/job/SecondStorageJobParamUtil.java | 10 +- .../org/apache/kylin/job/SecondStorageJobUtil.java | 70 +- .../apache/kylin/job/SecondStorageStepFactory.java | 19 +- .../handler/AbstractSecondStorageJobHanlder.java | 5 +- .../handler/SecondStorageIndexCleanJobHandler.java | 11 +- .../SecondStorageProjectCleanJobHandler.java | 8 +- .../SecondStorageSegmentCleanJobHandler.java | 11 +- .../SecondStorageSegmentLoadJobHandler.java | 30 +- pom.xml | 82 +- src/common-booter/pom.xml | 6 +- .../src/main/resources/config/init.properties | 4 +- .../src/main/resources/config/init_min.properties | 2 +- .../rest/config/KylinRequestHandlerSelectors.java | 4 +- .../rest/config/initialize/BroadcastListener.java | 13 +- .../kylin/rest/controller/HealthController.java | 8 +- .../kylin/rest/controller/NBasicController.java | 6 +- .../kylin/rest/controller/NEpochController.java | 8 +- .../kylin/rest/controller/NMonitorController.java | 5 +- .../kylin/rest/controller/AdminControllerTest.java | 2 +- .../rest/controller/HealthControllerTest.java | 5 +- .../rest/controller/NBasicControllerTest.java | 50 +- .../rest/controller/NEpochControllerTest.java | 52 +- .../spy/memcached/RefinedKetamaNodeLocator.java | 15 +- .../memcached/protocol/TCPMemcachedNodeImpl.java | 15 +- .../kylin/rest/aspect/InsensitiveNameAspect.java | 7 +- .../apache/kylin/rest/aspect/RateLimitAspect.java | 5 +- .../rest/broadcaster/BroadcastEventHandler.java | 4 +- .../apache/kylin/rest/broadcaster/Broadcaster.java | 4 +- .../kylin/rest/cache/memcached/CacheStats.java | 6 +- .../cache/memcached/CompositeMemcachedCache.java | 53 +- .../kylin/rest/cache/memcached/KeyHookLookup.java | 5 +- .../kylin/rest/cache/memcached/MemcachedCache.java | 18 +- .../rest/cache/memcached/MemcachedCacheConfig.java | 2 +- .../cache/memcached/MemcachedChunkingCache.java | 25 +- .../memcached/MemcachedConnectionFactory.java | 2 +- .../MemcachedConnectionFactoryBuilder.java | 16 +- .../kylin/rest/cluster/MockClusterManager.java | 3 +- .../apache/kylin/rest/config/AppInitializer.java | 12 +- .../config/KylinPropertySourceConfiguration.java | 3 +- .../apache/kylin/rest/config/MetricsConfig.java | 14 +- .../rest/config/SwaggerCompatibilityConfig.java | 2 +- .../kylin/rest/config/cloud/AlluxioExtension.java | 6 +- .../rest/config/initialize/CacheCleanListener.java | 3 +- .../config/initialize/EpochChangedListener.java | 3 +- .../config/initialize/JobSchedulerListener.java | 3 +- .../rest/config/initialize/MetricsRegistry.java | 54 +- .../config/initialize/ProcessStatusListener.java | 3 +- .../config/initialize/QueryMetricsListener.java | 50 +- .../rest/config/initialize/UserAclListener.java | 5 +- .../kylin/rest/controller/BaseController.java | 7 +- .../ResourceGroupKylinInstanceValidator.java | 3 +- .../apache/kylin/rest/interceptor/KEFilter.java | 6 +- .../interceptor/ResourceGroupCheckerFilter.java | 3 +- .../apache/kylin/rest/interceptor/V2ApiFilter.java | 3 +- .../rest/monitor/AbstractMonitorCollectTask.java | 3 +- .../apache/kylin/rest/monitor/MonitorReporter.java | 9 +- .../kylin/rest/request/AlertMessageRequest.java | 7 +- .../request/BatchProjectPermissionRequest.java | 3 +- .../rest/request/CachedUserUpdateRequest.java | 2 +- .../apache/kylin/rest/request/EpochRequest.java | 4 +- .../rest/request/GlobalBatchAccessRequest.java | 4 +- .../org/apache/kylin/rest/request/SQLRequest.java | 6 +- .../rest/request/SyncFileSegmentsRequest.java | 4 +- .../kylin/rest/request/TableDescRequest.java | 16 +- .../kylin/rest/request/TableExclusionRequest.java | 3 +- .../org/apache/kylin/rest/request/UserRequest.java | 4 +- .../org/apache/kylin/rest/request/ViewRequest.java | 22 +- .../apache/kylin/rest/response/AclTCRResponse.java | 2 +- .../apache/kylin/rest/response/ErrorResponse.java | 2 +- .../rest/response/ExcludedTableDetailResponse.java | 3 +- .../kylin/rest/response/ExcludedTableResponse.java | 3 +- .../kylin/rest/response/ExportTablesResponse.java | 3 +- .../rest/response/OpenAccessUserResponse.java | 2 +- .../rest/response/PreReloadTableResponse.java | 3 +- .../rest/response/ProjectCapacityResponse.java | 2 +- .../kylin/rest/response/SnapshotInfoResponse.java | 6 +- .../rest/response/SyncFileSegmentsResponse.java | 4 +- .../kylin/rest/response/TableDescResponse.java | 2 +- .../rest/security/CachedBCryptPasswordEncoder.java | 4 +- .../rest/security/LdapAuthenticationProvider.java | 5 +- .../rest/security/LdapAuthoritiesPopulator.java | 5 +- .../security/LimitLoginAuthenticationProvider.java | 17 +- .../rest/security/OpenAuthenticationProvider.java | 4 +- .../config/CustomProfileConfiguration.java | 4 +- .../apache/kylin/rest/service/AccessService.java | 2 +- .../apache/kylin/rest/service/AclTCRService.java | 10 +- .../kylin/rest/service/AsyncTaskService.java | 14 +- .../apache/kylin/rest/service/BasicService.java | 5 +- .../service/CaseInsensitiveKylinUserService.java | 2 +- .../service/CaseInsensitiveUserGroupService.java | 3 +- .../kylin/rest/service/CustomFileService.java | 2 +- .../apache/kylin/rest/service/EpochService.java | 4 +- .../apache/kylin/rest/service/HealthService.java | 3 +- .../kylin/rest/service/KylinUserService.java | 4 +- .../kylin/rest/service/MaintenanceModeService.java | 2 +- .../kylin/rest/service/MetadataBackupService.java | 2 +- .../kylin/rest/service/NUserGroupService.java | 5 +- .../apache/kylin/rest/service/OpenUserService.java | 8 +- .../apache/kylin/rest/service/ProjectService.java | 15 +- .../apache/kylin/rest/service/RouteService.java | 4 +- .../kylin/rest/service/SnapshotSupporter.java | 4 +- .../kylin/rest/service/TableSamplingSupporter.java | 5 +- .../apache/kylin/rest/service/UserAclService.java | 8 +- .../org/apache/kylin/rest/service/UserService.java | 6 +- .../apache/kylin/rest/source/DataSourceState.java | 10 +- .../kylin/rest/util/CreateAdminUserUtils.java | 5 +- .../java/org/apache/kylin/rest/util/HttpUtil.java | 29 +- .../rest/util/NullsLastPropertyComparator.java | 1 + .../org/apache/kylin/rest/util/SparkUIUtil.java | 8 +- .../org/apache/kylin/rest/util/TableUtils.java | 6 +- .../rest/util/TimestampedRollingFileOutputDir.java | 3 +- .../kylin/rest/SessionConfigurationTest.java | 2 +- .../apache/kylin/rest/cache/KylinEhCacheTest.java | 2 +- .../memcached/MemcacheConnectionFactoryTest.java | 32 +- .../rest/cache/memcached/MemcachedCacheTest.java | 8 +- .../memcached/MemcachedChunkingCacheTest.java | 14 +- .../rest/cluster/NacosClusterManagerTest.java | 2 +- .../KylinPropertySourceConfigurationTest.java | 2 +- .../config/initialize/MetricsRegistryTest.java | 86 +- .../config/initialize/ProjectDropListenerTest.java | 4 + .../kylin/rest/monitor/MonitorReporterTest.java | 3 +- .../apache/kylin/rest/request/UserRequestTest.java | 6 +- .../LimitLoginAuthenticationProviderTest.java | 21 + .../security/StaticAuthenticationProvider.java | 5 +- .../kylin/rest/service/AccessServiceTest.java | 14 +- .../rest/service/AccessServiceWithProjectTest.java | 8 +- .../apache/kylin/rest/service/AclServiceTest.java | 4 + .../kylin/rest/service/AclTCRServiceTest.java | 6 +- .../kylin/rest/service/CSVSourceTestCase.java | 3 +- .../CaseInsensitiveKylinUserServiceTest.java | 3 +- .../CaseInsensitiveUserGroupServiceTest.java | 2 +- .../kylin/rest/service/HealthServiceTest.java | 3 +- .../kylin/rest/service/KylinUserServiceTest.java | 9 +- .../kylin/rest/service/LdapUserServiceTest.java | 12 +- .../rest/service/MetadataBackupServiceTest.java | 10 +- .../kylin/rest/service/NUserGroupServiceTest.java | 7 +- .../kylin/rest/service/OpenUserServiceTest.java | 11 +- .../kylin/rest/service/RouteServiceTest.java | 4 + .../apache/kylin/rest/service/ServiceTestBase.java | 4 +- .../rest/service/SnapshotAutoRefreshTest.java | 2 +- .../kylin/rest/service/StaticUserGroupService.java | 7 +- .../kylin/rest/service/StaticUserService.java | 5 +- .../apache/kylin/rest/service/UserServiceTest.java | 7 +- .../task/QueryHistoryMetaUpdateSchedulerTest.java | 21 +- .../apache/kylin/rest/util/AclEvaluateTest.java | 4 + .../rest/util/InitResourceGroupUtilsTest.java | 4 +- .../test/resources/ut_ldap/ldap-config.properties | 2 +- .../kylin/common/BackwardCompatibilityConfig.java | 60 +- .../java/org/apache/kylin/common/KapConfig.java | 4 + .../java/org/apache/kylin/common/KylinConfig.java | 11 +- .../org/apache/kylin/common/KylinConfigBase.java | 44 +- .../org/apache/kylin/common/KylinConfigExt.java | 3 +- .../kylin/common/KylinExternalConfigLoader.java | 5 +- .../java/org/apache/kylin/common/KylinVersion.java | 19 +- .../apache/kylin/common/PropertiesDelegate.java | 1 - .../java/org/apache/kylin/common/QueryContext.java | 28 +- .../java/org/apache/kylin/common/StorageURL.java | 1 - .../apache/kylin/common/SystemPropertiesCache.java | 6 +- .../org/apache/kylin/common/ZookeeperConfig.java | 2 +- .../kylin/common/annotation/Clarification.java | 10 +- .../apache/kylin/common/debug/BackdoorToggles.java | 31 +- ...RefuseException.java => BigQueryException.java} | 11 +- .../apache/kylin/common/exception/ErrorCode.java | 11 +- .../kylin/common/exception/ExceptionReason.java | 5 +- .../kylin/common/exception/ExceptionResolve.java | 5 +- .../kylin/common/exception/FeignErrorResponse.java | 1 + .../kylin/common/exception/FeignRpcException.java | 3 +- .../kylin/common/exception/KylinException.java | 6 +- .../common/exception/NewQueryRefuseException.java | 6 +- .../kylin/common/exception/QueryErrorCode.java | 1 + .../exception/TargetSegmentNotFoundException.java | 4 +- .../exception/code/AbstractErrorContent.java | 1 - .../kylin/common/exception/code/ErrorCode.java | 1 - .../common/exception/code/ErrorCodeServer.java | 15 + .../kylin/common/exception/code/ErrorMsg.java | 2 +- .../common/exception/code/ErrorSuggestion.java | 8 +- .../kylin/common/hystrix/NCircuitBreaker.java | 5 +- .../apache/kylin/common/lock/LocalLockFactory.java | 9 +- .../org/apache/kylin/common/msg/CnMessage.java | 4 +- .../java/org/apache/kylin/common/msg/Message.java | 14 +- .../org/apache/kylin/common/msg/MsgPicker.java | 4 +- .../apache/kylin/common/persistence/AuditLog.java | 3 +- .../kylin/common/persistence/RawResource.java | 3 +- .../kylin/common/persistence/ResourceStore.java | 9 +- .../common/persistence/RootPersistentEntity.java | 4 +- .../common/persistence/SnapshotRawResource.java | 3 +- .../kylin/common/persistence/StringEntity.java | 2 +- .../persistence/ThreadViewResourceStore.java | 2 +- .../kylin/common/persistence/UnitMessages.java | 2 +- .../persistence/lock/IntentionReadWriteLock.java | 4 +- .../common/persistence/lock/ModuleLockEnum.java | 12 +- .../persistence/lock/ResourcePathParser.java | 2 +- .../lock/TransactionDeadLockHandler.java | 4 +- .../persistence/metadata/FileMetadataStore.java | 7 +- .../persistence/metadata/JdbcAuditLogStore.java | 41 +- .../common/persistence/metadata/jdbc/JdbcUtil.java | 14 +- .../transaction/AbstractAuditLogReplayWorker.java | 1 - .../transaction/AuditLogReplayWorker.java | 8 +- .../transaction/EventListenerRegistry.java | 1 - .../common/persistence/transaction/UnitOfWork.java | 12 +- .../persistence/transaction/UnitOfWorkParams.java | 3 +- .../kylin/common/scheduler/EventBusFactory.java | 4 +- .../common/scheduler/JobFinishedNotifier.java | 3 +- .../common/scheduler/ProjectSerialEventBus.java | 17 +- .../kylin/common/util/AutoReadWriteLock.java | 2 +- .../org/apache/kylin/common/util/ByteArray.java | 3 +- .../java/org/apache/kylin/common/util/Bytes.java | 2 +- .../org/apache/kylin/common/util/ClassUtil.java | 8 +- .../kylin/common/util/CliCommandExecutor.java | 2 +- .../apache/kylin/common/util/CompositeMapView.java | 1 + .../org/apache/kylin/common/util/DateFormat.java | 7 +- .../org/apache/kylin/common/util/Dictionary.java | 24 +- .../apache/kylin/common/util/FileSystemUtil.java | 15 +- .../org/apache/kylin/common/util/FileUtils.java | 11 +- .../org/apache/kylin/common/util/HadoopUtil.java | 6 +- .../apache/kylin/common/util/ImmutableBitSet.java | 4 +- .../kylin/common/util/ImplementationSwitch.java | 5 +- .../org/apache/kylin/common/util/JsonUtil.java | 10 +- .../apache/kylin/common/util/MetadataChecker.java | 31 +- .../kylin/common/util/OrderedProperties.java | 1 - .../org/apache/kylin/common/util/ProcessUtils.java | 2 +- .../apache/kylin/common/util/ResourceUtils.java | 1 - .../apache/kylin/common/util/SecretKeyUtil.java | 1 - .../org/apache/kylin/common/util/StringHelper.java | 1 - .../kylin/common/util/TempMetadataBuilder.java | 4 +- .../org/apache/kylin/common/util/ThreadUtil.java | 2 +- .../eventbus/SyncThrowExceptionEventBus.java | 2 +- .../kylin/loader/ParserClassLoaderState.java | 3 +- .../kylin/loader/utils/ClassLoaderUtils.java | 2 +- .../query/exception/UserStopQueryException.java | 2 +- .../org/apache/kylin/query/util/CancelFlag.java | 4 +- .../rest/ISmartApplicationListenerForSystem.java | 2 +- .../org/apache/kylin/rest/util/SerializeUtil.java | 2 +- .../org/apache/kylin/rest/util/SpringContext.java | 3 +- .../apache/kylin/tool/restclient/RestClient.java | 8 +- .../resources/job_exception_reason_en.properties | 2 +- .../resources/job_exception_reason_zh.properties | 2 +- .../kylin-backward-compatibility0.properties | 2 +- .../src/main/resources/kylin-defaults0.properties | 4 +- .../resources/kylin_error_msg_conf_cn.properties | 1 + .../resources/kylin_error_msg_conf_en.properties | 2 +- .../main/resources/kylin_errorcode_conf.properties | 1 + .../resources/kylin_errorcode_conf_en.properties | 2 +- .../resources/kylin_errorcode_conf_zh.properties | 2 +- .../resources/metadata-jdbc-default.properties | 2 +- .../src/main/resources/metadata-jdbc-h2.properties | 17 +- .../main/resources/metadata-jdbc-mysql.properties | 5 +- .../resources/metadata-jdbc-postgresql.properties | 5 +- .../org/apache/kylin/common/AbstractTestCase.java | 7 +- .../apache/kylin/common/KylinConfigBaseTest.java | 251 ++- .../common/KylinConfigMultithreadingTest.java | 63 +- .../org/apache/kylin/common/KylinConfigTest.java | 15 +- .../org/apache/kylin/common/KylinVersionTest.java | 38 +- .../kylin/common/PropertiesDelegateTest.java | 5 +- .../kylin/common/constant/ObsConfigTest.java | 6 +- .../exception/code/AbstractErrorContentTest.java | 8 +- .../kylin/common/exception/code/ErrorCodeTest.java | 16 + .../common/extension/KylinInfoExtensionTest.java | 2 +- .../kylin/common/logging/SetLogCategoryTest.java | 2 +- .../kylin/common/persistence/RawResourceTest.java | 2 +- .../common/persistence/ResourceStoreTestBase.java | 3 +- .../kylin/common/persistence/ResourceTool.java | 12 +- .../persistence/SnapshotRawResourceTest.java | 2 +- .../persistence/ThreadViewResourceStoreTest.java | 9 +- .../kylin/common/persistence/UnitOfWorkTest.java | 134 +- .../common/persistence/lock/CloseWaitTest.java | 12 +- .../persistence/lock/MemoryLockGraphTest.java | 11 +- .../lock/rule/LockEliminationRuleExecTest.java | 23 +- .../transaction/AuditReplayWorkerTest.java | 2 +- .../transaction/MessageSynchronizationTest.java | 12 +- .../scheduler/ProjectSerialEventBusTest.java | 10 +- .../apache/kylin/common/util/AddressUtilTest.java | 38 +- .../common/util/ArgsTypeJsonDeserializerTest.java | 2 +- .../apache/kylin/common/util/ArrayUtilsTest.java | 15 +- .../kylin/common/util/CompositeMapViewTest.java | 5 +- .../apache/kylin/common/util/FilePathUtilTest.java | 2 +- .../kylin/common/util/HostInfoFetcherTest.java | 2 +- .../org/apache/kylin/common/util/MapUtilTest.java | 14 +- .../common/util/NLocalFileMetadataTestCase.java | 4 +- .../org/apache/kylin/common/util/RangeTest.java | 124 +- .../apache/kylin/common/util/RangeUtilTest.java | 25 +- .../org/apache/kylin/junit/MetadataExtension.java | 5 +- .../apache/kylin/junit/MultiTimezoneProvider.java | 3 +- .../apache/kylin/junit/OverwritePropExtension.java | 5 +- .../kylin/loader/AddToClassPathActionTest.java | 3 +- .../kylin/loader/ParserClassLoaderStateTest.java | 3 +- .../apache/kylin/rest/service/PagingUtilTest.java | 3 +- src/core-job/pom.xml | 18 +- .../main/java/org/apache/kylin/job/JobContext.java | 23 +- .../apache/kylin/job/common/ExecutableUtil.java | 5 +- .../apache/kylin/job/common/IndexBuildJobUtil.java | 5 +- .../org/apache/kylin/job/common/MergeJobUtil.java | 5 +- .../kylin/job/common/PartitionBuildJobUtil.java | 3 +- .../apache/kylin/job/common/RefreshJobUtil.java | 5 +- .../kylin/job/common/SegmentBuildJobUtil.java | 3 +- .../org/apache/kylin/job/common/SegmentUtil.java | 4 +- .../apache/kylin/job/common/ShellExecutable.java | 3 +- .../apache/kylin/job/config/JobMybatisConfig.java | 36 +- .../kylin/job/config/JobTableInterceptor.java | 29 +- .../kylin/job/constant/JobStepCmdTypeEnum.java | 20 +- .../apache/kylin/job/core/lock/JdbcLockClient.java | 2 +- .../apache/kylin/job/dao/ExecutableOutputPO.java | 5 +- .../org/apache/kylin/job/dao/ExecutablePO.java | 6 +- .../java/org/apache/kylin/job/dao/JobInfoDao.java | 34 +- .../java/org/apache/kylin/job/domain/JobInfo.java | 40 +- .../java/org/apache/kylin/job/domain/JobLock.java | 15 +- .../job/domain/PriorityFistRandomOrderJob.java | 8 +- .../kylin/job/execution/AbstractExecutable.java | 66 +- .../kylin/job/execution/DefaultExecutable.java | 18 +- .../job/execution/DefaultExecutableOnModel.java | 10 +- .../kylin/job/execution/ExecutableHandler.java | 5 +- .../kylin/job/execution/ExecutableManager.java | 51 +- .../kylin/job/execution/ExecutableParams.java | 3 +- .../kylin/job/execution/ExecutableState.java | 49 +- .../kylin/job/execution/ExecutableThread.java | 3 +- .../apache/kylin/job/execution/ExecuteResult.java | 23 +- .../org/apache/kylin/job/execution/StageBase.java | 3 +- .../org/apache/kylin/job/factory/JobFactory.java | 3 +- .../apache/kylin/job/handler/AddIndexHandler.java | 7 +- .../kylin/job/handler/AddSegmentHandler.java | 3 +- .../kylin/job/handler/SnapshotJobHandler.java | 19 +- .../kylin/job/handler/TableSamplingJobHandler.java | 25 +- .../kylin/job/manager/SegmentAutoMergeUtil.java | 13 +- .../org/apache/kylin/job/mapper/JobInfoMapper.java | 5 +- .../org/apache/kylin/job/mapper/JobLockMapper.java | 9 +- .../java/org/apache/kylin/job/model/JobParam.java | 5 +- .../java/org/apache/kylin/job/rest/JobFilter.java | 1 + .../org/apache/kylin/job/rest/JobMapperFilter.java | 5 +- .../apache/kylin/job/runners/JobCheckRunner.java | 67 +- .../org/apache/kylin/job/runners/JobCheckUtil.java | 57 +- .../kylin/job/runners/QuotaStorageCheckRunner.java | 3 +- .../kylin/job/scheduler/JdbcJobScheduler.java | 260 ++- .../apache/kylin/job/scheduler/JobExecutor.java | 4 +- .../kylin/job/scheduler/ParallelLimiter.java | 70 - .../kylin/job/scheduler/ResourceAcquirer.java | 10 +- .../job/scheduler/SharedFileProgressReporter.java | 2 +- .../apache/kylin/job/util/ExecutableParaUtil.java | 2 +- .../org/apache/kylin/job/util/JobContextUtil.java | 120 +- .../org/apache/kylin/job/util/JobInfoUtil.java | 8 +- .../kylin/rest/delegate/JobStatisticsInvoker.java | 7 +- .../kylin/rest/delegate/JobStatisticsRPC.java | 2 +- .../main/resources/mybatis-generator-config.xml | 65 - .../resources/mybatis-mapper/JobInfoMapper.xml | 18 +- .../resources/mybatis-mapper/JobLockMapper.xml | 33 +- .../main/resources/script/schema_job_info_h2.sql | 12 +- .../resources/script/schema_job_info_mysql.sql | 10 +- .../script/schema_job_info_postgresql.sql | 8 +- .../main/resources/script/schema_job_lock_h2.sql | 7 +- .../resources/script/schema_job_lock_mysql.sql | 7 +- .../script/schema_job_lock_postgresql.sql | 5 +- .../org/apache/kylin/job/common/SegmentsTest.java | 39 + .../kylin/job/execution/DagExecutableTest.java | 90 +- .../kylin/job/execution/ExecutableContextTest.java | 4 +- .../kylin/job/execution/JobMailUtilTest.java | 2 +- .../job/execution/JobStatisticsManagerTest.java | 5 +- .../kylin/job/execution/JobStatusChangedTest.java | 51 - .../job/execution/TestWithStageExecutable.java | 7 +- .../job/impl/threadpool/BaseSchedulerTest.java | 43 +- .../job/impl/threadpool/NDefaultSchedulerTest.java | 519 ++--- .../kylin/job/manager/ExecutableManagerTest.java | 38 +- .../kylin/job/scheduler/JdbcJobSchedulerTest.java | 144 +- .../org/apache/kylin/mapper/JobLockMapperTest.java | 4 +- src/core-metadata/pom.xml | 6 +- .../kylin/cube/gridtable/GridTableMapping.java | 16 +- .../upgrade/common/MetadataVersionRefresher.java | 5 +- .../org/apache/kylin/dimension/BooleanDimEnc.java | 14 +- .../org/apache/kylin/dimension/DateDimEnc.java | 2 +- .../apache/kylin/dimension/DimensionEncoding.java | 8 +- .../kylin/dimension/DimensionEncodingFactory.java | 19 +- .../org/apache/kylin/dimension/FixedLenDimEnc.java | 4 +- .../apache/kylin/dimension/FixedLenHexDimEnc.java | 10 +- .../java/org/apache/kylin/dimension/IntDimEnc.java | 4 +- .../org/apache/kylin/dimension/IntegerDimEnc.java | 10 +- .../kylin/dimension/OneMoreByteVLongDimEnc.java | 6 +- .../org/apache/kylin/dimension/TimeDimEnc.java | 2 +- .../cache/CustomKeyEquivalenceCacheBuilder.java | 1 - .../apache/kylin/measure/BufferedMeasureCodec.java | 4 +- .../apache/kylin/measure/MeasureAggregator.java | 12 +- .../org/apache/kylin/measure/MeasureIngester.java | 4 +- .../java/org/apache/kylin/measure/MeasureType.java | 21 +- .../apache/kylin/measure/MeasureTypeFactory.java | 28 +- .../kylin/measure/bitmap/BitmapMeasureType.java | 3 +- .../kylin/measure/bitmap/BitmapSerializer.java | 3 +- .../bitmap/intersect/IntersectMeasureType.java | 3 +- .../measure/collect_set/CollectSetMeasureType.java | 7 +- .../apache/kylin/measure/corr/CorrMeasureType.java | 5 +- .../kylin/measure/dim/DimCountDistinctCounter.java | 1 - .../measure/dim/DimCountDistinctMeasureType.java | 15 +- .../extendedcolumn/ExtendedColumnMeasureType.java | 33 +- .../apache/kylin/measure/hllc/HLLCMeasureType.java | 6 +- .../org/apache/kylin/measure/hllc/HLLCounter.java | 1 - .../apache/kylin/measure/hllc/HLLCounterOld.java | 3 +- .../measure/percentile/PercentileCounter.java | 10 +- .../measure/percentile/PercentileMeasureType.java | 3 +- .../apache/kylin/measure/raw/RawMeasureType.java | 35 +- .../apache/kylin/measure/raw/RawSerializer.java | 4 +- .../kylin/measure/sumlc/SumLCMeasureType.java | 3 +- .../kylin/measure/topn/DoubleDeltaSerializer.java | 4 +- .../org/apache/kylin/measure/topn/TopNCounter.java | 4 +- .../apache/kylin/measure/topn/TopNMeasureType.java | 71 +- .../apache/kylin/metadata/acl/AclTCRManager.java | 31 +- .../apache/kylin/metadata/acl/ColumnToConds.java | 110 +- .../metadata/cube/cuboid/AggIndexMatcher.java | 6 +- .../kylin/metadata/cube/cuboid/IndexMatcher.java | 4 +- .../metadata/cube/cuboid/TableIndexMatcher.java | 8 +- .../kylin/metadata/cube/model/IndexPlan.java | 12 +- .../kylin/metadata/datatype/BooleanSerializer.java | 4 +- .../apache/kylin/metadata/epoch/EpochManager.java | 10 +- .../kylin/metadata/favorite/AsyncTaskTable.java | 6 +- .../metadata/favorite/FavoriteRuleManager.java | 4 + .../kylin/metadata/favorite/FavoriteRuleTable.java | 5 +- .../kylin/metadata/model/ComputedColumnDesc.java | 8 +- .../apache/kylin/metadata/model/FunctionDesc.java | 13 +- .../kylin/metadata/model/FusionModelManager.java | 3 +- .../apache/kylin/metadata/model/NDataModel.java | 2 +- .../metadata/model/SegmentStatusEnumToDisplay.java | 2 +- .../apache/kylin/metadata/model/TableExtDesc.java | 2 +- .../org/apache/kylin/metadata/model/TblColRef.java | 9 +- .../kylin/metadata/model/schema/SchemaNode.java | 22 +- .../kylin/metadata/project/NProjectLoader.java | 58 +- .../kylin/metadata/project/NProjectManager.java | 5 +- .../kylin/metadata/query/QueryHistorySql.java | 4 +- .../metadata/querymeta/ColumnMetaWithType.java | 11 + .../kylin/metadata/realization/SQLDigest.java | 99 +- .../recommendation/candidate/JdbcRawRecStore.java | 32 +- .../recommendation/candidate/RawRecItemTable.java | 6 +- .../metadata/recommendation/util/RawRecUtil.java | 7 +- .../kylin/metadata/view/LogicalViewManager.java | 177 +- .../apache/kylin/metrics/HdfsCapacityMetrics.java | 17 +- .../kylin/query/util/QueryInterruptChecker.java | 14 +- .../org/apache/kylin/query/util/QueryLimiter.java | 3 +- .../apache/kylin/query/util/SlowQueryDetector.java | 5 +- .../org/apache/kylin/rest/constant/Constant.java | 18 +- .../kylin/rest/request/DataFlowUpdateRequest.java | 2 +- .../org/apache/kylin/rest/security/AceImpl.java | 5 +- .../kylin/rest/security/AclEntityFactory.java | 3 +- .../kylin/rest/security/AclPermissionFactory.java | 3 +- .../kylin/rest/security/KerberosLoginManager.java | 3 +- .../security/PasswordPlaceholderConfigurer.java | 11 +- .../apache/kylin/rest/security/UserAclManager.java | 5 +- .../org/apache/kylin/rest/service/AclService.java | 2 +- .../rest/service/ModelMetadataBaseService.java | 11 +- .../apache/kylin/rest/util/AclPermissionUtil.java | 5 +- .../org/apache/kylin/source/SourceFactory.java | 3 +- .../adhocquery/DoubleQuotePushDownConverter.java | 3 +- .../kylin/source/adhocquery/IPushDownRunner.java | 3 +- .../org/apache/kylin/source/jdbc/H2Database.java | 19 +- .../org/apache/kylin/util/BrokenEntityProxy.java | 3 +- .../java/org/apache/kylin/util/DataRangeUtils.java | 10 +- .../org/apache/kylin/util/MetadataDumpUtil.java | 3 +- .../kylin/cube/gridtable/GridTableMappingTest.java | 15 +- .../kylin/measure/bitmap/BitmapCounterTest.java | 3 +- .../BitmapIntersectDistinctCountAggV2FuncTest.java | 16 +- .../kylin/measure/bitmap/BitmapSerializerTest.java | 18 +- .../percentile/PercentileAggregatorTest.java | 3 +- .../measure/percentile/PercentileCounterTest.java | 2 +- .../kylin/measure/percentile/TDigestTest.java | 2 +- .../kylin/measure/topn/TopNCounterBasicTest.java | 3 +- .../apache/kylin/measure/topn/TopNCounterTest.java | 15 +- .../metadata/epoch/EnhancedUnitOfWorkTest.java | 2 +- .../kylin/metadata/epoch/EpochManagerTest.java | 41 + .../kylin/metadata/project/NProjectLoaderTest.java | 24 +- .../metadata/project/NProjectManagerTest.java | 2 +- .../kylin/metrics/HdfsCapacityMetricsTest.java | 5 +- .../apache/kylin/model/tool/CalciteParserTest.java | 11 +- .../rest/security/ExternalAclProviderTest.java | 2 +- .../KylinPermissionGrantingStrategyTest.java | 9 +- .../kylin/rest/security/UserAclManagerTest.java | 4 +- .../org/apache/kylin/util/MetadataTestUtils.java | 5 +- .../apache/kylin/common/metrics/MetricsGroup.java | 113 +- .../common/metrics/MetricsInfluxdbReporter.java | 7 +- .../common/metrics/reporter/InfluxdbReporter.java | 8 +- .../common/metrics/service/InfluxDBInstance.java | 6 +- .../metrics/service/JobStatusMonitorMetric.java | 3 +- .../kylin/common/metrics/service/MonitorDao.java | 3 +- .../common/metrics/service/MonitorMetric.java | 5 +- .../common/metrics/service/QueryMonitorMetric.java | 3 +- .../apache/kylin/common/util/InfluxDBUtils.java | 1 - .../kylin/common/metric/InfluxDBInstanceTest.java | 10 +- .../kylin/common/metric/InfluxMetricsTest.java | 97 +- .../kylin/common/metric/MetricsControllerTest.java | 12 +- .../apache/kylin/common/metric/MonitorDaoTest.java | 23 +- .../org/apache/kylin/storage/StorageFactory.java | 3 +- src/data-loading-booter/pom.xml | 15 +- .../src/main/resources/config/init.properties | 2 +- .../src/main/resources/config/init_min.properties | 4 +- .../kylin/rest/controller/JobController.java | 9 +- .../rest/controller/JobResourceController.java | 2 +- .../kylin/rest/controller/BaseControllerTest.java | 5 +- .../kylin/rest/controller/JobControllerTest.java | 113 +- .../rest/controller/v2/JobControllerV2Test.java | 7 +- .../apache/kylin/job/service/JobInfoService.java | 47 +- .../org/apache/kylin/job/util/JobFilterUtil.java | 22 +- .../kylin/rest/filter/SegmentsRequestFilter.java | 5 +- .../rest/request/SnapshotTableConfigRequest.java | 2 +- .../kylin/rest/response/ExecutableResponse.java | 2 +- .../rest/response/ExecutableStepResponse.java | 2 +- .../rest/scheduler/AbstractSchedulerRunnable.java | 2 +- .../rest/scheduler/AutoRefreshSnapshotRunner.java | 6 +- .../scheduler/AutoRefreshSnapshotScheduler.java | 6 +- .../rest/scheduler/BuildSnapshotRunnable.java | 2 +- .../rest/scheduler/CheckSourceTableResult.java | 1 + .../rest/scheduler/CheckSourceTableRunnable.java | 6 +- .../org/apache/kylin/rest/service/JobService.java | 12 +- .../kylin/rest/util/BuildAsyncProfileHelper.java | 26 +- .../apache/kylin/rest/util/JobDriverUIUtil.java | 2 +- .../apache/kylin/rest/util/SparkHistoryUIUtil.java | 4 +- .../engine/spark/NLocalWithSparkSessionTest.java | 4 - .../spark/job/ExecutableAddSegmentHandlerTest.java | 2 +- .../engine/spark/job/NTableSamplingJobTest.java | 30 +- .../GenerateFlatTableWithSparkSessionTest.java | 63 +- .../kylin/job/service/JobInfoServiceTest.java | 316 ++- .../rest/filter/SegmentsRequestFilterTest.java | 8 +- .../scheduler/AbstractSchedulerRunnableTest.java | 2 +- .../scheduler/AutoRefreshSnapshotRunnerTest.java | 6 +- .../rest/scheduler/BuildSnapshotRunnableTest.java | 4 +- .../scheduler/CheckSourceTableRunnableTest.java | 2 +- .../rest/service/FusionModelServiceBuildTest.java | 2 +- .../apache/kylin/rest/service/JobErrorTest.java | 2 +- .../kylin/rest/service/JobResourceServiceTest.java | 7 +- .../apache/kylin/rest/service/JobServiceTest.java | 112 +- .../kylin/rest/service/MockClusterManager.java | 2 +- .../kylin/rest/service/ModelServiceBuildTest.java | 6 +- .../kylin/rest/service/SegmentHelperTest.java | 3 +- .../kylin/rest/service/SnapshotServiceTest.java | 54 +- .../org/apache/kylin/rest/service/StageTest.java | 2 +- .../rest/service/TableSamplingServiceTest.java | 2 +- .../rest/util/BuildAsyncProfileHelperTest.java | 28 +- .../datasource/adaptor/AbstractJdbcAdaptor.java | 31 +- .../sdk/datasource/adaptor/DefaultAdaptor.java | 16 +- .../kylin/sdk/datasource/adaptor/MssqlAdaptor.java | 1 - .../kylin/sdk/datasource/adaptor/SQLDWAdaptor.java | 2 +- .../framework/FixedCachedRowSetImpl.java | 2 +- .../sdk/datasource/framework/JdbcConnector.java | 5 +- .../sdk/datasource/framework/conv/ConvMaster.java | 5 +- .../framework/conv/ConvRownumSqlWriter.java | 3 +- .../datasource/framework/conv/ConvSqlWriter.java | 4 +- .../framework/conv/DefaultConfigurer.java | 3 +- .../framework/conv/GenericSqlConverter.java | 5 +- .../datasource/framework/conv/ParamNodeParser.java | 2 +- .../framework/conv/SqlNodeConverter.java | 1 - .../datasource/framework/conv/SqlParamsFinder.java | 3 +- .../datasource/framework/def/DataSourceDef.java | 19 +- .../framework/def/DataSourceDefProvider.java | 5 +- .../sdk/datasource/framework/def/TypeDef.java | 3 +- .../sdk/datasource/framework/utils/Constants.java | 2 +- .../sdk/datasource/framework/utils/XmlUtil.java | 2 +- .../framework/conv/SqlConverterTest.java | 4 +- .../apache/kylin/rest/ddl/SourceTableCheck.java | 125 +- .../apache/kylin/rest/service/SparkDDLService.java | 185 +- .../kylin/rest/service/StreamingTableService.java | 11 +- .../apache/kylin/rest/service/TableExtService.java | 52 +- .../apache/kylin/rest/service/TableService.java | 26 +- .../org/apache/kylin/rest/ddl/ViewCheck.scala | 16 +- .../kylin/rest/service/TableExtServiceTest.java | 19 +- .../lock/curator/CuratorDistributedLock.java | 12 +- .../curator/CuratorDistributedLockFactory.java | 5 +- .../java/org/apache/kylin/common/util/ZKUtil.java | 8 +- .../kylin/common/lock/ZookeeperAclBuilderTest.java | 21 +- .../curator/CuratorDistributedLockFactoryTest.java | 27 +- .../_global/project/segment_overlap_test.json | 35 + .../metadata/_global/project/test_jdbc.json | 35 + .../d0bbfa51-9c16-b6e5-1d33-76b47d8853eb.json | 179 ++ .../19d129a3-0070-d228-9cc5-acafe78179f5.json | 36 + .../6c272580-f1aa-7eb9-65bf-4d8113c695fe.json | 36 + .../a549d3b2-6c37-a7a1-0ac5-94bc8d67f1b0.json | 36 + .../d0bbfa51-9c16-b6e5-1d33-76b47d8853eb.json | 64 + .../d0bbfa51-9c16-b6e5-1d33-76b47d8853eb.json | 146 ++ .../segment_overlap_test/table/SSB.LINEORDER.json | 114 + .../0928cbee-e7b2-76c9-d069-496cafdccff3.json | 42 + .../360d312b-6a74-1688-626d-4f2d99fd23a8.json | 54 + .../c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json | 49 + .../6590b960-29fd-0416-2d21-0e7feef99cb4.json | 36 + .../b032f0cd-2197-076b-dd0b-6d04336bb3ee.json | 36 + .../f1b656b9-1795-5b4e-fe29-7649684bb9ba.json | 36 + .../0928cbee-e7b2-76c9-d069-496cafdccff3.json | 64 + .../360d312b-6a74-1688-626d-4f2d99fd23a8.json | 64 + .../c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json | 64 + .../0928cbee-e7b2-76c9-d069-496cafdccff3.json | 94 + .../360d312b-6a74-1688-626d-4f2d99fd23a8.json | 202 ++ .../c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json | 99 + .../metadata/test_jdbc/table/CNDB.EMPLOYEE.json | 47 + .../metadata/test_jdbc/table/SSB.CUSTOMER.json | 70 + .../metadata/test_jdbc/table/SSB.DATES.json | 114 + .../metadata/test_jdbc/table/SSB.LINEORDER.json | 115 + .../metadata/test_jdbc/table/SSB.PART.json | 74 + .../metadata/test_jdbc/table/SSB.SUPPLIER.json | 64 + .../calcite/avatica/util/KylinDelegateCursor.java | 11 +- .../main/java/org/apache/kylin/jdbc/Driver.java | 29 +- .../java/org/apache/kylin/jdbc/KylinClient.java | 173 +- .../org/apache/kylin/jdbc/KylinJdbcFactory.java | 25 +- .../main/java/org/apache/kylin/jdbc/KylinMeta.java | 2 +- .../apache/kylin/jdbc/KylinPreparedStatement.java | 3 +- .../java/org/apache/kylin/jdbc/KylinResultSet.java | 7 +- .../java/org/apache/kylin/jdbc/KylinStatement.java | 3 +- .../java/org/apache/kylin/jdbc/LogInitializer.java | 24 +- .../resources/org-apache-kylin-jdbc.properties | 2 +- .../rest/config/initialize/JobSyncListener.java | 8 +- .../apache/kylin/rest/service/ScheduleService.java | 6 +- .../initialize/JobSchedulerListenerTest.java | 2 +- .../rest/config/initialize/JobSchedulerTest.java | 32 +- .../kylin/rest/service/ScheduleServiceTest.java | 2 +- .../newten/BuildAndQueryEmptySegmentsTest.java | 11 +- .../org/apache/kylin/newten/CharNColumnTest.java | 4 +- .../kylin/newten/EnhancedAggPushDownTest.java | 46 +- .../org/apache/kylin/newten/ExactlyMatchTest.java | 2 +- .../apache/kylin/newten/ExtractLimitInfoTest.java | 14 +- .../org/apache/kylin/newten/LogicalViewTest.java | 76 +- .../kylin/newten/MultiPartitionPruningTest.java | 17 +- .../NAggIndexPriorityAnswerWithCCExprTest.java | 4 +- .../org/apache/kylin/newten/NAggPushDownTest.java | 2 +- .../kylin/newten/NBadQueryAndPushDownTest.java | 7 +- .../apache/kylin/newten/NBitmapFunctionTest.java | 2 +- .../kylin/newten/NBuildAndQuerySnapshotTest.java | 2 +- .../apache/kylin/newten/NComputedColumnTest.java | 10 +- .../newten/NCountDistinctWithoutEncodeTest.java | 2 +- .../org/apache/kylin/newten/NFilePruningTest.java | 9 +- .../apache/kylin/newten/NFilePruningV2Test.java | 7 +- .../newten/NFlattableJoinWithoutLookupTest.java | 6 +- .../java/org/apache/kylin/newten/NJoinOptTest.java | 2 +- .../newten/NManualBuildAndQueryCuboidTest.java | 7 +- .../org/apache/kylin/newten/NMatchingTest.java | 7 +- .../kylin/newten/NMultiPartitionJobTest.java | 7 +- .../kylin/newten/NMultipleColumnsInTest.java | 7 +- .../kylin/newten/NOptIntersectCountTest.java | 2 +- .../apache/kylin/newten/NPartitionColumnTest.java | 2 +- .../kylin/newten/NQueryPartialMatchIndexTest.java | 13 +- .../kylin/newten/NSpanningTreeCubingJobTest.java | 4 +- .../org/apache/kylin/newten/NTopNResultTest.java | 11 +- .../apache/kylin/newten/NTopNWithChineseTest.java | 7 +- .../apache/kylin/newten/ReuseFlatTableTest.java | 6 +- .../kylin/newten/SimilarToEscapeFunctionTest.java | 2 +- .../apache/kylin/newten/SlowQueryDetectorTest.java | 2 + .../org/apache/kylin/newten/SumLCResultTest.java | 2 +- .../org/apache/kylin/newten/TableIndexTest.java | 24 +- .../org/apache/kylin/newten/TimeZoneQueryTest.java | 32 +- .../org/apache/kylin/query/HackedDbUnitAssert.java | 53 +- .../java/org/apache/kylin/query/KylinTestBase.java | 15 +- .../java/org/apache/kylin/query/NKapQueryTest.java | 3 +- .../query/engine/CountDistinctExprPlannerTest.java | 22 +- .../engine/EnhancedAggPushDownPlannerTest.java | 22 +- .../kylin/query/engine/SparderInitSQLConfTest.java | 18 +- .../kylin/query/engine/SqlToRelNodeTest.java | 13 +- .../query/engine/SumCastDoublePlannerTest.java | 4 +- .../kylin/query/engine/SumExprPlannerTest.java | 170 +- .../routing/DataflowCapabilityCheckerTest.java | 34 +- .../routing/HeterogeneousSegmentPruningTest.java | 50 +- .../query/routing/PartitionPruningRuleTest.java | 17 +- .../query/routing/QueryLayoutChooserTest.java | 127 +- .../kylin/query/routing/QueryLayoutFilterTest.java | 19 +- .../query/routing/RealizationChooserTest.java | 20 +- .../query/routing/SegmentPruningRuleTest.java | 38 +- .../routing/TableIndexAnswerSelectStarTest.java | 22 +- .../query/routing/VacantIndexPruningRuleTest.java | 28 +- ...hdownRuleTest.java => AggPushDownRuleTest.java} | 56 +- .../kylin/query/rules/CalciteRuleTestBase.java | 18 +- .../kylin/query/rules/FilterSimplifyRuleTest.java | 13 +- .../query/rules/ScalarSubqueryJoinRuleTest.java | 18 +- .../java/org/apache/kylin/util/ExecAndComp.java | 9 +- .../org/apache/kylin/util/OlapContextTestUtil.java | 37 +- .../query/engine/CountDistinctExprPlannerTest.xml | 500 ++--- .../engine/EnhancedAggPushDownPlannerTest.xml | 1518 +++++++------- .../apache/kylin/query/engine/SqlToRelNodeTest.xml | 244 +-- .../query/engine/SumCastDoublePlannerTest.xml | 208 +- .../kylin/query/engine/SumExprPlannerTest.xml | 2209 ++++++++++---------- .../kylin/query/rules/AggPushDownRuleTest.xml | 584 ++++++ .../kylin/query/rules/AggPushdownRuleTest.xml | 583 ------ .../kylin/query/rules/FilterSimplifyRuleTest.xml | 96 +- .../query/rules/ScalarSubqueryJoinRuleTest.xml | 1208 +++++------ .../apache/kylin/event/ITStorageCleanerTest.java | 5 +- .../org/apache/kylin/event/ModelSemanticTest.java | 8 +- .../org/apache/kylin/event/SchemaChangeTest.java | 7 +- .../kylin/rest/broadcaster/BroadcasterTest.java | 5 +- .../rest/controller/NQueryControllerTest.java | 7 +- .../apache/kylin/rest/feign/MetadataInvoker.java | 3 +- .../kylin/rest/controller/AclTCRController.java | 13 +- .../rest/controller/CustomFileController.java | 3 +- .../kylin/rest/controller/NAccessController.java | 9 +- .../rest/controller/NMetaStoreController.java | 2 +- .../kylin/rest/controller/NModelController.java | 16 +- .../kylin/rest/controller/NTableController.java | 3 +- .../kylin/rest/controller/NUserController.java | 9 +- .../rest/controller/NUserGroupController.java | 12 +- .../kylin/rest/controller/SampleController.java | 12 +- .../kylin/rest/controller/SegmentController.java | 17 +- .../kylin/rest/controller/SnapshotController.java | 5 +- .../kylin/rest/controller/SparkDDLController.java | 80 +- .../rest/controller/StreamingTableController.java | 6 +- .../rest/controller/open/OpenAccessController.java | 10 +- .../rest/controller/open/OpenAclTCRController.java | 19 +- .../controller/open/OpenMetaStoreController.java | 9 +- .../rest/controller/open/OpenModelController.java | 6 +- .../rest/controller/open/OpenSampleController.java | 3 +- .../rest/controller/open/OpenTableController.java | 25 +- .../rest/controller/open/OpenUserController.java | 2 +- .../controller/open/OpenUserGroupController.java | 10 +- .../rest/controller/v2/NAccessControllerV2.java | 9 +- .../rest/controller/v2/NModelControllerV2.java | 5 +- .../rest/controller/v2/NTableControllerV2.java | 9 +- .../rest/controller/v2/NUserControllerV2.java | 3 +- .../rest/controller/v2/NUserGroupControllerV2.java | 4 +- .../rest/controller/v2/SegmentControllerV2.java | 3 +- .../rest/controller/AclTCRControllerTest.java | 11 +- .../rest/controller/IndexPlanControllerTest.java | 3 +- .../rest/controller/NAccessControllerTest.java | 3 +- .../rest/controller/NAccessControllerV2Test.java | 6 +- .../rest/controller/NMetaStoreControllerTest.java | 7 +- .../rest/controller/NModelControllerTest.java | 4 +- .../rest/controller/NModelControllerV2Test.java | 3 +- .../rest/controller/NTableControllerTest.java | 8 +- .../rest/controller/NTableControllerV2Test.java | 2 +- .../kylin/rest/controller/NUserControllerTest.java | 5 +- .../rest/controller/NUserControllerV2Test.java | 12 +- .../controller/NUserGroupControllerV2Test.java | 2 +- .../rest/controller/OpenAclTCRControllerTest.java | 11 +- .../rest/controller/SampleControllerTest.java | 4 +- .../rest/controller/SegmentControllerTest.java | 4 +- .../rest/controller/SnapshotControllerTest.java | 25 +- .../rest/controller/SparkDDLControllerTest.java | 125 +- .../controller/open/OpenAccessControllerTest.java | 17 +- .../open/OpenMetaStoreControllerTest.java | 5 +- .../controller/open/OpenModelControllerTest.java | 23 +- .../controller/open/OpenSampleControllerTest.java | 2 +- .../controller/open/OpenSegmentControllerTest.java | 5 +- .../controller/open/OpenTableControllerTest.java | 13 +- .../controller/open/OpenUserControllerTest.java | 5 +- .../controller/v2/SegmentControllerV2Test.java | 7 +- .../common/util/SqlIdentifierFormatterVisitor.java | 15 +- .../apache/kylin/job/service/SnapshotService.java | 72 +- .../config/initialize/ModelDropAddListener.java | 4 +- .../config/initialize/ModelUpdateListener.java | 2 +- .../apache/kylin/rest/model/FuzzyKeySearcher.java | 7 +- .../kylin/rest/request/AddSegmentRequest.java | 2 +- .../rest/request/AggShardByColumnsRequest.java | 2 +- .../kylin/rest/request/CreateBaseIndexRequest.java | 2 +- .../rest/request/CreateTableIndexRequest.java | 4 +- .../kylin/rest/request/MergeSegmentRequest.java | 2 +- .../kylin/rest/request/ModelConfigRequest.java | 2 +- .../kylin/rest/request/ModelImportRequest.java | 2 +- .../kylin/rest/request/OpenModelRequest.java | 7 +- .../rest/request/PartitionsRefreshRequest.java | 4 +- .../apache/kylin/rest/request/SnapshotRequest.java | 4 +- .../kylin/rest/response/AggIndexResponse.java | 2 +- .../response/ComputedColumnConflictResponse.java | 3 +- .../rest/response/ComputedColumnUsageResponse.java | 4 +- .../kylin/rest/response/IndicesResponse.java | 10 +- .../rest/response/InvalidIndexesResponse.java | 2 +- .../kylin/rest/response/JobInfoResponse.java | 3 +- .../kylin/rest/response/JobInfoResponseV2.java | 2 +- .../kylin/rest/response/ModelConfigResponse.java | 2 +- .../kylin/rest/response/NDataModelOldParams.java | 2 +- .../kylin/rest/response/NDataModelResponse.java | 5 + .../kylin/rest/response/NDataModelResponse3X.java | 4 +- .../kylin/rest/response/SegmentCheckResponse.java | 3 +- .../kylin/rest/response/SimplifiedMeasure.java | 4 +- .../kylin/rest/response/SuggestionResponse.java | 2 +- .../response/SynchronizedCommentsResponse.java | 4 +- .../kylin/rest/service/FusionIndexService.java | 16 +- .../kylin/rest/service/IndexPlanService.java | 3 +- .../kylin/rest/service/MetaStoreService.java | 7 +- .../kylin/rest/service/ModelBuildService.java | 77 +- .../kylin/rest/service/ModelSemanticHelper.java | 34 +- .../apache/kylin/rest/service/ModelService.java | 55 +- .../apache/kylin/rest/service/ModelTdsService.java | 7 +- .../apache/kylin/rest/service/SegmentHelper.java | 17 +- .../params/IncrementBuildSegmentParams.java | 5 +- .../kylin/rest/service/params/IndexPlanParams.java | 7 +- .../org/apache/kylin/rest/util/ModelUtils.java | 3 +- .../util/SegmentsTypeEnumJsonDeserializer.java | 10 +- .../org/apache/kylin/tool/bisync/BISyncTool.java | 5 +- .../apache/kylin/tool/bisync/SyncModelBuilder.java | 7 +- .../config/initialize/ModelBrokenListenerTest.java | 3 +- .../rest/response/NDataModelResponseTest.java | 7 +- .../apache/kylin/rest/service/BaseIndexTest.java | 2 +- .../kylin/rest/service/FusionIndexServiceTest.java | 2 +- .../kylin/rest/service/FusionModelServiceTest.java | 2 +- .../kylin/rest/service/IndexPlanServiceTest.java | 2 +- .../kylin/rest/service/MetaStoreServiceTest.java | 11 +- .../rest/service/MetaStoreTenantServiceTest.java | 10 +- .../rest/service/ModelServiceBrokenRepairTest.java | 2 +- .../service/ModelServiceSemanticUpdateTest.java | 5 +- .../kylin/rest/service/ModelServiceTest.java | 52 +- .../service/ModelTdsServiceColumnNameTest.java | 3 +- .../kylin/rest/service/ProjectServiceTest.java | 46 +- .../kylin/rest/service/TableReloadServiceTest.java | 14 +- .../kylin/rest/service/TableServiceTest.java | 2 +- .../org/apache/kylin/rest/util/ModelUtilsTest.java | 25 +- .../kylin/tool/bisync/SyncModelBuilderTest.java | 7 +- .../tool/bisync/tableau/TableauDatasourceTest.java | 7 +- src/ops-booter/pom.xml | 11 + .../rest/config/initialize/OpsAppInitializer.java | 22 +- .../src/main/resources/config/init.properties | 2 +- .../src/main/resources/config/init_min.properties | 4 +- .../config/initialize/OpsAppInitializerTest.java | 53 +- .../kylin/rest/controller/OpsController.java | 39 +- .../kylin/rest/controller/OpsControllerTest.java | 44 +- .../kylin/rest/reponse/MetadataBackupResponse.java | 9 +- .../org/apache/kylin/rest/service/OpsService.java | 314 ++- .../apache/kylin/rest/service/SystemService.java | 9 +- .../apache/kylin/rest/service/OpsServiceTest.java | 181 +- .../kylin/rest/service/SystemServiceTest.java | 8 +- src/query-booter/pom.xml | 2 +- .../src/main/resources/config/init.properties | 2 +- .../src/main/resources/config/init_min.properties | 4 +- .../org/apache/kylin/query/util/RawSqlParser.jj | 2 +- .../org/apache/kylin/query/QueryExtension.java | 6 +- .../kylin/query/engine/data/QueryResult.java | 5 +- .../kylin/query/enumerator/HiveEnumerator.java | 18 +- .../kylin/query/enumerator/MetadataEnumerator.java | 4 +- .../{OLAPEnumerator.java => OlapEnumerator.java} | 20 +- .../enumerator/{OLAPQuery.java => OlapQuery.java} | 19 +- .../apache/kylin/query/relnode/ColumnRowType.java | 4 +- .../apache/kylin/query/relnode/ContextUtil.java | 348 ++- .../kylin/query/relnode/KapAggregateRel.java | 499 ----- .../org/apache/kylin/query/relnode/KapContext.java | 75 - .../apache/kylin/query/relnode/KapLimitRel.java | 149 -- .../org/apache/kylin/query/relnode/KapRel.java | 219 -- .../org/apache/kylin/query/relnode/KapSortRel.java | 146 -- .../apache/kylin/query/relnode/KapTableScan.java | 185 -- .../apache/kylin/query/relnode/KapUnionRel.java | 131 -- .../apache/kylin/query/relnode/KapValuesRel.java | 84 - .../apache/kylin/query/relnode/KapWindowRel.java | 140 -- .../kylin/query/relnode/OLAPAggregateRel.java | 584 ------ .../apache/kylin/query/relnode/OLAPContext.java | 739 ------- .../apache/kylin/query/relnode/OLAPFilterRel.java | 277 --- .../apache/kylin/query/relnode/OLAPJoinRel.java | 379 ---- .../apache/kylin/query/relnode/OLAPLimitRel.java | 148 -- .../apache/kylin/query/relnode/OLAPProjectRel.java | 300 --- .../org/apache/kylin/query/relnode/OLAPRel.java | 243 --- .../apache/kylin/query/relnode/OLAPSortRel.java | 156 -- .../query/relnode/OLAPToEnumerableConverter.java | 135 -- .../kylin/query/relnode/OlapAggregateRel.java | 887 ++++++++ .../apache/kylin/query/relnode/OlapContext.java | 551 +++++ .../{OLAPContextProp.java => OlapContextProp.java} | 7 +- .../{KapFilterRel.java => OlapFilterRel.java} | 293 ++- .../relnode/{KapJoinRel.java => OlapJoinRel.java} | 302 ++- .../apache/kylin/query/relnode/OlapLimitRel.java | 193 ++ .../{KapMinusRel.java => OlapMinusRel.java} | 77 +- ...{KapModelViewRel.java => OlapModelViewRel.java} | 54 +- ...NonEquiJoinRel.java => OlapNonEquiJoinRel.java} | 179 +- .../{KapProjectRel.java => OlapProjectRel.java} | 290 ++- .../org/apache/kylin/query/relnode/OlapRel.java | 348 +++ .../apache/kylin/query/relnode/OlapSortRel.java | 197 ++ .../{OLAPTableScan.java => OlapTableScan.java} | 237 +-- ...nverter.java => OlapToEnumerableConverter.java} | 36 +- .../{OLAPUnionRel.java => OlapUnionRel.java} | 123 +- .../{OLAPValuesRel.java => OlapValuesRel.java} | 70 +- .../{OLAPWindowRel.java => OlapWindowRel.java} | 120 +- .../kylin/query/relnode/TableColRefWithRel.java | 8 +- .../org/apache/kylin/query/routing/Candidate.java | 10 +- .../query/routing/DataflowCapabilityChecker.java | 31 +- .../kylin/query/routing/PartitionPruningRule.java | 32 +- .../kylin/query/routing/QueryLayoutChooser.java | 10 +- .../apache/kylin/query/routing/QueryRouter.java | 6 +- .../kylin/query/routing/RealizationChooser.java | 249 +-- .../routing/RemoveIncapableRealizationsRule.java | 6 +- .../kylin/query/routing/SegmentPruningRule.java | 216 +- .../apache/kylin/query/schema/KapOLAPSchema.java | 62 - .../apache/kylin/query/schema/KapOLAPTable.java | 45 - .../query/schema/KylinRelDataTypeFactoryImpl.java | 1 - .../schema/{OLAPSchema.java => OlapSchema.java} | 48 +- .../schema/{OLAPTable.java => OlapTable.java} | 51 +- .../security/HackSelectStarWithColumnACL.java | 4 +- .../org/apache/kylin/query/security/RowFilter.java | 54 +- .../apache/kylin/query/util/AsyncQueryUtil.java | 47 +- .../kylin/query/util/ComputedColumnRewriter.java | 65 +- .../query/util/DateNumberFilterTransformer.java | 43 +- .../kylin/query/util/DefaultQueryTransformer.java | 4 +- .../apache/kylin/query/util/EscapeFunction.java | 1 - .../kylin/query/util/ICutContextStrategy.java | 22 +- .../util/{KapRelUtil.java => OlapRelUtil.java} | 8 +- .../kylin/query/util/QueryAliasMatchInfo.java | 7 +- .../apache/kylin/query/util/QueryAliasMatcher.java | 25 +- .../org/apache/kylin/query/util/QueryUtil.java | 7 +- .../java/org/apache/kylin/query/util/RawSql.java | 1 - .../kylin/query/util/RelAggPushDownUtil.java | 36 +- .../kylin/query/util/RexToTblColRefTranslator.java | 25 +- .../java/org/apache/kylin/query/util/RexUtils.java | 65 +- .../apache/kylin/query/util/SqlNodeExtractor.java | 3 +- .../apache/kylin/query/util/SqlSubqueryFinder.java | 3 +- .../apache/kylin/util/FilterConditionExpander.java | 96 +- .../rest/controller/NAsyncQueryController.java | 9 +- .../kylin/rest/controller/NQueryController.java | 64 +- .../rest/controller/QueryResourceController.java | 2 +- .../controller/QuerySQLBlacklistController.java | 21 +- .../SnapshotSourceTableStatsController.java | 17 +- .../rest/controller/SparkHistoryUIController.java | 10 +- .../rest/controller/SparkMetricsController.java | 7 +- .../rest/controller/v2/NQueryControllerV2.java | 8 +- .../rest/controller/NAsyncQueryControllerTest.java | 7 + .../controller/NAsyncQueryControllerV2Test.java | 2 + .../rest/controller/NQueryControllerTest.java | 16 + .../rest/controller/NQueryControllerV2Test.java | 35 +- .../rest/controller/NQueryMetaControllerTest.java | 5 +- .../QuerySQLBlacklistControllerTest.java | 5 +- .../SnapshotSourceTableStatsControllerTest.java | 19 +- .../controller/SparkHistoryUIControllerTest.java | 6 +- .../SnapshotSourceTableStatsServiceTest.scala | 8 +- .../ProjectCleanOldQueryResultListener.java | 3 +- .../kylin/rest/request/AsyncQuerySQLRequestV2.java | 8 +- .../request/SnapshotSourceTableStatsRequest.java | 5 +- .../kylin/rest/response/BigQueryResponse.java} | 37 +- .../apache/kylin/rest/response/SQLResponse.java | 6 +- .../apache/kylin/rest/response/SQLResponseV2.java | 10 +- .../response/SnapshotSourceTableStatsResponse.java | 8 +- .../kylin/rest/response/SnapshotTableResponse.java | 6 +- .../kylin/rest/service/AsyncQueryService.java | 2 +- .../kylin/rest/service/DashboardService.java | 42 +- .../kylin/rest/service/ModelQueryService.java | 3 +- .../apache/kylin/rest/service/MonitorService.java | 17 +- .../kylin/rest/service/QueryHistoryScheduler.java | 12 +- .../kylin/rest/service/QueryResourceService.java | 2 +- .../rest/service/QuerySQLBlacklistService.java | 5 +- .../apache/kylin/rest/service/QueryService.java | 106 +- .../service/SnapshotSourceTableStatsService.java | 27 +- .../kylin/rest/util/QueryCacheSignatureUtil.java | 10 +- .../apache/kylin/rest/util/QueryRequestLimits.java | 13 +- .../rest/metrics/QueryMetricsContextTest.java | 11 +- .../kylin/rest/service/AsyncQueryJobTest.java | 22 +- .../kylin/rest/service/AysncQueryServiceTest.java | 266 ++- .../kylin/rest/service/DashboardServiceTest.java | 77 +- .../kylin/rest/service/MockedQueryHistoryDao.java | 3 +- .../kylin/rest/service/ModelQueryServiceTest.java | 9 +- .../kylin/rest/service/ModelServiceQueryTest.java | 5 +- .../kylin/rest/service/MonitorServiceTest.java | 6 +- .../service/QueryCompositeMemcachedCacheTest.java | 75 +- .../rest/service/QueryHistorySchedulerTest.java | 3 +- .../rest/service/QueryHistoryServiceTest.java | 2 +- .../rest/service/QueryMetricsListenerTest.java | 11 +- .../kylin/rest/service/QueryRedisCacheTest.java | 2 + .../rest/service/QuerySQLBlacklistServiceTest.java | 92 +- .../kylin/rest/service/QueryServiceTest.java | 447 ++-- .../kylin/rest/service/SparderUIServiceTest.java | 6 +- .../rest/util/QueryCacheSignatureUtilTest.java | 35 +- .../test/resources/ut_ldap/ldap-config.properties | 2 +- .../resources/ut_table_meta/testJdbcTableMetaV2 | 949 +++++++++ .../optrule/KapOLAPToEnumerableConverterRule.java | 44 - .../kyligence/kap/query/optrule/KapSortRule.java | 52 - .../kyligence/kap/query/optrule/KapUnionRule.java | 48 - .../kap/query/optrule/OLAPAggregateRule.java | 71 - .../kap/query/optrule/OLAPFilterRule.java | 52 - .../kyligence/kap/query/optrule/OLAPJoinRule.java | 80 - .../kyligence/kap/query/optrule/OLAPLimitRule.java | 58 - .../kap/query/optrule/OLAPProjectRule.java | 61 - .../kap/query/optrule/OLAPWindowRule.java | 47 - .../apache/kylin/query/engine/PlannerFactory.java | 109 +- .../kylin/query/engine/ProjectSchemaFactory.java | 4 +- .../org/apache/kylin/query/engine/QueryExec.java | 148 +- .../apache/kylin/query/engine/QueryOptimizer.java | 4 +- .../kylin/query/engine/QueryRoutingEngine.java | 70 +- .../org/apache/kylin/query/engine/UDFRegistry.java | 3 +- ...citeQueryPlanExec.java => CalcitePlanExec.java} | 5 +- ...rderQueryPlanExec.java => SparderPlanExec.java} | 53 +- .../kylin/query/engine/view/ModelViewExpander.java | 4 +- .../query/engine/view/ModelViewGenerator.java | 7 +- .../apache/kylin/query/engine/view/ViewSchema.java | 3 +- .../optrule/AbstractAggCaseWhenFunctionRule.java | 2 +- .../query/optrule/AggregateMultipleExpandRule.java | 3 +- .../query/optrule/AggregateProjectReduceRule.java | 3 +- .../query/optrule/CorrReduceFunctionRule.java | 5 +- .../optrule/CountDistinctCaseWhenFunctionRule.java | 23 +- .../query/optrule/ExtensionOlapJoinRule.java | 25 +- .../optrule/FilterJoinConditionMergeRule.java | 38 +- .../kylin}/query/optrule/FilterSimplifyRule.java | 20 +- .../kylin}/query/optrule/JoinFilterRule.java | 18 +- .../query/optrule/OlapAggFilterTransposeRule.java} | 31 +- .../query/optrule/OlapAggJoinTransposeRule.java} | 41 +- .../query/optrule/OlapAggProjectMergeRule.java} | 44 +- .../optrule/OlapAggProjectTransposeRule.java} | 51 +- .../kylin/query/optrule/OlapAggSumCastRule.java} | 51 +- .../optrule/OlapAggregateReduceFunctionsRule.java} | 8 +- .../kylin/query/optrule/OlapAggregateRule.java} | 20 +- .../query/optrule/OlapCountDistinctJoinRule.java} | 41 +- .../optrule/OlapEquivJoinConditionFixRule.java} | 14 +- .../kylin/query/optrule/OlapFilterJoinRule.java} | 82 +- .../kylin/query/optrule/OlapFilterRule.java} | 22 +- .../optrule/OlapJoinProjectTransposeRule.java} | 26 +- .../apache/kylin/query/optrule/OlapJoinRule.java} | 44 +- .../apache/kylin/query/optrule/OlapLimitRule.java} | 22 +- .../apache/kylin/query/optrule/OlapMinusRule.java} | 20 +- .../kylin/query/optrule/OlapModelViewRule.java} | 23 +- .../optrule/OlapProjectJoinTransposeRule.java} | 12 +- .../kylin/query/optrule/OlapProjectMergeRule.java} | 93 +- .../kylin/query/optrule/OlapProjectRule.java} | 29 +- .../query/optrule/OlapReduceExpressionRule.java | 47 + .../apache/kylin/query/optrule/OlapRuleUtils.java} | 8 +- .../apache/kylin/query/optrule/OlapSortRule.java} | 22 +- .../query/optrule/OlapSumCastTransposeRule.java} | 26 +- .../query/optrule/OlapSumTransCastToThenRule.java} | 60 +- .../optrule/OlapToEnumerableConverterRule.java} | 18 +- .../apache/kylin/query/optrule/OlapUnionRule.java} | 20 +- .../kylin/query/optrule/OlapValuesRule.java} | 19 +- .../kylin/query/optrule/OlapWindowRule.java} | 22 +- .../query/optrule/RightJoinToLeftJoinRule.java | 2 +- .../query/optrule/ScalarSubqueryJoinRule.java | 52 +- .../kylin}/query/optrule/SumBasicOperatorRule.java | 32 +- .../query/optrule/SumCaseWhenFunctionRule.java | 41 +- .../query/optrule/SumConstantConvertRule.java | 23 +- .../org/apache/kylin/query/udf/SparkOtherUDF.java | 5 + .../org/apache/kylin/query/udf/SparkTimeUDF.java | 5 + .../kylin/query/udf/dateUdf/DateTruncUDF.java | 2 +- .../kylin/query/udf/formatUdf/DateFormatUDF.java | 61 - .../kylin/query/udf/nullHandling/IfNullUDF.java | 58 - .../org/apache/kylin/query/udf/otherUdf/IfUDF.java | 4 +- .../kylin/query/udf/stringUdf/ConcatUDF.java | 3 +- .../apache/kylin/query/udf/stringUdf/InStrUDF.java | 2 +- .../kylin/query/udf/stringUdf/SubStrUDF.java | 2 +- .../query/util/ContextInitialCutStrategy.java | 27 +- .../kylin/query/util/ContextReCutStrategy.java | 36 +- .../java/org/apache/kylin/query/util/HepUtils.java | 148 +- .../kylin/query/util/QueryContextCutter.java | 31 +- .../org/apache/kylin/query/util/RuleUtils.java | 4 +- .../query/calcite/KylinRelDataTypeSystemTest.java | 127 +- .../kylin/query/engine/QueryRoutingEngineTest.java | 25 +- ...lTest.java => SparderPlanExecAbnormalTest.java} | 51 +- .../engine/mask/QueryDependentColumnMaskTest.java | 3 +- .../engine/mask/QuerySensitiveDataMaskTest.java | 7 +- .../kylin/query/engine/view/ModelViewTest.java | 3 +- .../kylin/query/relnode/ContextUtilTest.java | 10 +- .../kylin/query/routing/CandidateSortTest.java | 6 +- .../kylin/query/routing/CandidateTestUtils.java | 10 +- .../kylin/query/routing/QueryRouterTest.java | 8 +- .../security/HackSelectStarWithColumnACLTest.java | 18 +- .../apache/kylin/query/security/RowFilterTest.java | 97 +- .../org/apache/kylin/query/udf/FormatUDFTest.java | 15 - .../kylin/query/udf/NullHandlingUDFTest.java | 39 - .../kylin/query/util/ColumnRowTypeMockUtil.java | 3 +- .../kylin/query/util/DialectConverterTest.java | 5 +- .../kylin/query/util/ExpressionComparatorTest.java | 33 +- .../kylin/query/util/FilterPushDownUtilTest.java | 9 +- .../query/util/ImplicitCCOnModelViewTest.java | 3 +- .../apache/kylin/query/util/ImplicitCCTest.java | 15 +- .../apache/kylin/query/util/KapRelUtilTest.java | 81 - .../apache/kylin/query/util/OlapRelUtilTest.java | 81 + .../kylin/query/util/PowerBIConverterTest.java | 2 +- .../org/apache/kylin/query/util/QueryUtilTest.java | 3 +- .../query/util/RexToTblColRefTranslatorTest.java | 86 +- .../query/util/WithToSubQueryTransformerTest.java | 4 +- .../util/SecondStorageJobUtilTest.java | 99 + src/server/pom.xml | 1 + .../java/org/apache/kylin/rest/JobNodeFilter.java | 7 +- .../kylin/rest/QueryBlockCleanInterceptor.java | 47 + .../org/apache/kylin/rest/QueryNodeFilter.java | 4 + .../kylin/rest/config/KylinWebMvcConfig.java | 25 +- .../rest/discovery/KylinServiceDiscoveryCache.java | 9 +- .../discovery/KylinServiceDiscoveryClient.java | 5 +- .../rest/health/FileSystemHealthIndicator.java | 3 +- .../rest/health/MetaStoreHealthIndicator.java | 3 +- .../java/org/apache/kylin/rest/BaseFilterTest.java | 2 +- .../apache/kylin/rest/DeleteDuringQueryTest.java | 65 + .../rest/QueryBlockCleanInterceptorTest.java} | 34 +- .../kylin/rest/config/ZookeeperConfigTest.java | 2 +- .../discovery/KylinServiceDiscoveryCacheTest.java | 7 +- .../kylin/source/hive/BeelineHiveClient.java | 1 - .../apache/kylin/source/hive/CLIHiveClient.java | 1 - .../apache/kylin/source/hive/HiveCmdBuilder.java | 3 +- .../kylin/source/hive/HiveMetadataExplorer.java | 5 +- .../engine/spark/application/SparkApplication.java | 3 +- .../engine/spark/builder/NBuildSourceInfo.java | 5 +- .../builder/PartitionDictionaryBuilderHelper.java | 7 +- .../spark/job/DefaultSparkBuildJobHandler.java | 22 +- .../spark/job/ExecutableAddCuboidHandler.java | 2 +- .../kylin/engine/spark/job/MppOnTheFlyImpl.java | 11 +- .../kylin/engine/spark/job/NSparkCubingJob.java | 30 +- .../kylin/engine/spark/job/NSparkCubingStep.java | 8 +- .../kylin/engine/spark/job/NSparkMergingJob.java | 10 +- .../kylin/engine/spark/job/NSparkSnapshotJob.java | 6 +- .../kylin/engine/spark/job/NTableSamplingJob.java | 13 +- .../job/SparkCleanupTransactionalTableStep.java | 15 +- .../kylin/engine/spark/mockup/CsvSource.java | 14 +- .../spark/source/NSparkCubingSourceInput.java | 28 +- .../kylin/engine/spark/source/NSparkTable.java | 4 +- .../spark/source/NSparkTableMetaBuilder.java | 2 +- .../engine/spark/source/NSparkTableReader.java | 3 +- .../kylin/engine/spark/source/SparkSqlUtil.java | 3 +- .../spark/stats/analyzer/TableAnalyzerJob.java | 2 +- .../spark/utils/HiveTransactionTableHelper.java | 19 +- .../kylin/job/execution/EmptyPlaceholderJob.java | 2 +- .../kylin/job/execution/NSparkExecutable.java | 2 +- .../execution/handler/ExecutableHandleUtils.java | 3 +- .../kylin/job/execution/step/JobStepType.java | 6 +- .../kylin/engine/spark/job/SegmentBuildJob.java | 6 +- .../kylin/engine/spark/job/SegmentExec.scala | 15 +- .../kylin/engine/spark/job/SegmentMergeJob.java | 2 +- .../kylin/engine/spark/job/SnapshotBuildJob.java | 2 +- .../kylin/engine/spark/job/TableAnalysisJob.scala | 4 +- .../engine/spark/job/stage/WaiteForResource.scala | 6 +- .../spark/job/stage/build/RefreshSnapshots.scala | 2 +- .../spark/model/planner/FlatTableToCostUtils.java | 5 +- .../spark/application/SparkApplicationTest.java | 3 +- .../engine/spark/dict/NGlobalDictionaryV2Test.java | 51 +- .../kylin/engine/spark/job/JobManagerTest.java | 4 +- .../kylin/engine/spark/job/JobStepFactoryTest.java | 11 +- .../engine/spark/job/MockJobProgressReport.java | 21 +- .../kylin/engine/spark/job/MockResumeBuildJob.java | 3 +- .../spark/job/NSparkCubingJobOnYarnTest.java | 8 +- .../spark/job/RestfulJobProgressReportTest.java | 18 +- .../engine/spark/job/SparkBuildJobHandlerTest.java | 3 +- .../SparkCleanupTransactionalTableStepTest.java | 8 +- .../kylin/engine/spark/mockup/CsvSourceTest.java | 3 +- .../spark/model/SegmentFlatTableDescTest.java | 16 +- .../model/planner/CuboIdToLayoutUtilsTest.java | 2 +- ...parkCubingSourceInputBySparkDataSourceTest.java | 3 +- .../spark/source/NSparkCubingSourceInputTest.java | 3 +- .../engine/spark/source/NSparkSourceTest.java | 3 +- .../engine/spark/source/SparkSqlUtilTest.java | 3 +- .../utils/HiveTransactionTableHelperTest.java | 122 +- .../engine/spark/utils/SparkConfHelperTest.java | 4 +- .../engine/spark/builder/TestSnapshotBuilder.scala | 5 +- .../kylin/engine/spark/utils/HDFSUtilsTest.scala | 6 +- .../kylin-soft-affinity-cache/pom.xml | 28 + .../kylin/cache/fs/AbstractCacheFileSystem.java | 61 +- .../kylin/cache/fs/CacheFileInputStream.java | 8 +- .../kylin/cache/fs/ManagerOfCacheFileContent.java | 35 +- .../kylin/cache/fs/ManagerOfCacheFileStatus.java | 48 +- .../kylin/cache/kylin/KylinCacheFileSystem.java | 17 +- .../softaffinity/SoftAffinityBookKeeping.java | 12 +- .../softaffinity/SoftAffinityTextInputFormat.java | 5 +- .../apache/kylin/cache/utils/ReflectionUtil.java | 3 +- .../org/apache/kylin/fileseg/FileSegments.java | 93 +- .../apache/kylin/fileseg/FileSegmentsDetector.java | 4 +- .../hive/serde2/lazy/LazyQuoteAwareSerDe.java | 112 +- .../cache/fs/AlluxioHdfsFileInputStreamTest.java | 3 +- .../cache/fs/ManagerOfCacheFileContentTest.java | 5 +- .../apache/kylin/cache/fs/MockFileInStream.java | 7 +- .../cache/kylin/KylinCacheFileSystemTest.java | 9 +- .../serde2/lazy/lazy/LazyQuoteAwareSerDeTest.java | 21 +- .../kylin/source/jdbc/DefaultSourceConnector.java | 3 +- .../org/apache/kylin/source/jdbc/JdbcExplorer.java | 7 +- .../apache/kylin/source/jdbc/JdbcSourceInput.java | 7 +- .../apache/kylin/source/jdbc/JdbcTableReader.java | 3 +- .../kylin/source/jdbc/JdbcSourceInputTest.java | 7 +- .../query/mask/CompositeQueryResultMasks.java | 3 +- .../kylin/query/mask/QueryDependentColumnMask.java | 9 +- .../kylin/query/mask/QuerySensitiveDataMask.java | 17 +- .../pushdown/JdbcPushDownConnectionManager.java | 7 +- .../apache/kylin/query/util/PartitionsFilter.java | 1 - .../main/java/org/apache/spark/ddl/DDLCheck.java | 28 +- .../java/org/apache/spark/ddl/DDLCheckContext.java | 86 +- .../java/org/apache/spark/ddl/DDLConstant.java | 20 +- .../org/apache/spark/sql/LogicalViewLoader.java | 300 +-- .../kylin/query/pushdown/SparkSqlClient.scala | 12 +- .../kylin/query/runtime/CalciteToSparkPlaner.scala | 96 +- .../kylin/query/runtime/ExpressionConverter.scala | 4 +- .../kylin/query/runtime/SparderRexVisitor.scala | 13 +- .../kylin/query/runtime/plan/AggregatePlan.scala | 20 +- .../kylin/query/runtime/plan/FilterPlan.scala | 4 +- .../apache/kylin/query/runtime/plan/JoinPlan.scala | 10 +- .../kylin/query/runtime/plan/LimitPlan.scala | 10 +- .../kylin/query/runtime/plan/MinusPlan.scala | 4 +- .../kylin/query/runtime/plan/ProjectPlan.scala | 6 +- .../kylin/query/runtime/plan/ResultPlan.scala | 55 +- .../apache/kylin/query/runtime/plan/SortPlan.scala | 4 +- .../kylin/query/runtime/plan/TableScanPlan.scala | 69 +- .../kylin/query/runtime/plan/UnionPlan.scala | 4 +- .../kylin/query/runtime/plan/ValuesPlan.scala | 4 +- .../kylin/query/runtime/plan/WindowPlan.scala | 8 +- .../apache/spark/sql/KylinDataFrameManager.scala | 4 +- .../scala/org/apache/spark/sql/KylinSession.scala | 18 +- .../scala/org/apache/spark/sql/SparderEnv.scala | 6 +- .../pushdown/PushDownRunnerSparkImplTest.java | 3 +- .../kylin/query/runtime/plan/TestResultPlan.java | 73 + .../org/apache/spark/sql/SparderTypeUtilTest.scala | 6 +- .../kylin/common/asyncprofiler/AsyncProfiler.java | 30 +- .../common/asyncprofiler/AsyncProfilerUtils.java | 2 +- .../engine/spark/filter/ParquetBloomFilter.java | 12 +- .../engine/spark/filter/QueryFiltersCollector.java | 26 +- .../kylin/engine/spark/utils/Repartitioner.java | 4 +- .../kylin/source/dfs/DFSFileTableReader.java | 29 +- .../common/logging/AbstractHdfsLogAppender.java | 10 +- .../common/logging/SparkDriverHdfsLogAppender.java | 4 +- .../logging/SparkDriverHdfsRollingLogAppender.java | 2 +- .../logging/SparkExecutorHdfsLogAppender.java | 3 +- .../SparkExecutorHdfsRollingLogAppender.java | 3 +- .../org/apache/spark/dict/NBucketDictionary.java | 38 +- .../apache/spark/dict/NGlobalDictHDFSStore.java | 49 +- .../org/apache/spark/sql/SparderTypeUtil.scala | 2 + .../v2/jdbc/ShardJDBCTableCatalog.scala | 13 +- .../scala/org/apache/spark/sql/udaf/SumLC.scala | 7 +- .../common/asyncprofiler/AsyncProfilerTest.java | 2 +- .../asyncprofiler/AsyncProfilerUtilsTest.java | 2 +- .../filter/ParquetPageFilterCollectorTest.java | 3 +- .../engine/spark/utils/RepartitionerTest.java | 5 +- .../org/apache/kylin/it/TestModelViewQuery.scala | 2 + .../kylin/it/TestQueryAndBuildFunSuite.scala | 8 +- .../scala/org/apache/kylin/it/TestTPCHQuery.scala | 10 +- .../apache/kylin/parser/AbstractDataParser.java | 3 +- .../kylin/rest/request/StreamingJobActionEnum.java | 5 +- .../rest/request/StreamingJobParamsRequest.java | 3 +- .../kylin/rest/service/StreamingJobService.java | 5 +- .../rest/service/StreamingJobServiceTest.java | 11 +- .../apache/kylin/parser/AbstractTimeParser.java | 2 +- .../org/apache/kylin/parser/StreamingParser.java | 5 +- .../apache/kylin/sample/KafkaSourceHandler.java | 10 +- .../kylin/streaming/app/StreamingApplication.java | 2 +- .../streaming/app/StreamingBuildApplication.java | 3 +- .../streaming/app/StreamingMergeApplication.java | 2 +- .../kylin/streaming/app/StreamingMergeEntry.java | 3 +- .../streaming/jobs/AbstractSparkJobLauncher.java | 5 +- .../kylin/streaming/jobs/StreamingDFBuildJob.java | 11 +- .../kylin/streaming/jobs/StreamingJobListener.java | 5 +- .../kylin/streaming/jobs/StreamingJobUtils.java | 3 +- .../streaming/jobs/impl/StreamingJobLauncher.java | 13 +- .../jobs/scheduler/StreamingJobStatusWatcher.java | 7 +- .../jobs/scheduler/StreamingScheduler.java | 9 +- .../org/apache/kylin/streaming/util/JobKiller.java | 8 +- .../kylin/streaming/util/MetaInfoUpdater.java | 2 +- .../kylin/source/kafka/NSparkKafkaSource.scala | 2 +- .../kylin/streaming/PartitionRowIterator.scala | 19 +- .../kylin/parser/AbstractDataParserTest.java | 2 +- .../streaming/jobs/PartitionRowIteratorTest.java | 4 +- .../streaming/jobs/StreamingDFBuildJobTest.java | 3 +- .../streaming/jobs/StreamingDFMergeJobTest.java | 5 +- .../streaming/jobs/StreamingJobListenerTest.java | 2 +- .../jobs/impl/StreamingJobLauncherTest.java | 5 +- .../streaming/manager/StreamingJobManagerTest.java | 9 +- .../apache/kylin/streaming/util/JobKillerTest.java | 14 +- .../kylin/streaming/util/MockClusterManager.java | 2 +- .../kylin/streaming/util/RestSupportTest.java | 2 +- .../kylin/streaming/util/StreamingTestCase.java | 3 +- .../apache/kylin/helper/MetadataToolHelper.java | 24 +- .../kylin/helper/UpdateUserAclToolHelper.java | 22 +- .../apache/kylin/rest/cluster/ClusterManager.java | 3 +- .../kylin/rest/cluster/NacosClusterManager.java | 9 +- .../kylin/tool/AbstractInfoExtractorTool.java | 36 +- .../org/apache/kylin/tool/ClickhouseDiagTool.java | 7 +- .../main/java/org/apache/kylin/tool/ConfTool.java | 5 +- .../java/org/apache/kylin/tool/DiagK8sTool.java | 11 +- .../org/apache/kylin/tool/FavoriteRuleTool.java | 27 +- .../java/org/apache/kylin/tool/JobInfoTool.java | 33 +- .../java/org/apache/kylin/tool/KylinConfigCLI.java | 1 - .../apache/kylin/tool/KylinConfigChecksumCLI.java | 2 +- .../apache/kylin/tool/KylinConfigExporterCLI.java | 2 +- .../java/org/apache/kylin/tool/KylinLogTool.java | 225 +- .../org/apache/kylin/tool/KylinTableCCCleanup.java | 8 +- .../apache/kylin/tool/KylinTableCCCleanupCLI.java | 2 +- .../java/org/apache/kylin/tool/MetadataTool.java | 17 +- .../org/apache/kylin/tool/MetricsInfoTool.java | 5 +- .../apache/kylin/tool/QueryHistoryAccessCLI.java | 3 +- .../apache/kylin/tool/QueryHistoryOffsetTool.java | 32 +- .../org/apache/kylin/tool/RecCandidateTool.java | 7 +- .../java/org/apache/kylin/tool/RollbackTool.java | 25 +- .../apache/kylin/tool/StreamingSparkLogTool.java | 3 +- .../org/apache/kylin/tool/SystemUsageTool.java | 19 +- .../org/apache/kylin/tool/YarnApplicationTool.java | 2 +- .../org/apache/kylin/tool/daemon/KapGuardian.java | 5 +- .../tool/daemon/checker/FullGCDurationChecker.java | 3 +- .../kylin/tool/daemon/checker/KEStatusChecker.java | 2 +- .../daemon/handler/AbstractCheckStateHandler.java | 3 +- .../tool/garbage/AbstractComparableCleanTask.java | 8 +- .../tool/garbage/CleanTaskExecutorService.java | 5 +- .../kylin/tool/garbage/DataflowCleanerCLI.java | 7 +- .../kylin/tool/garbage/ExecutableCleaner.java | 2 +- .../apache/kylin/tool/garbage/IndexCleaner.java | 2 +- .../kylin/tool/garbage/PriorityExecutor.java | 9 +- .../apache/kylin/tool/garbage/StorageCleaner.java | 6 +- .../kylin/tool/garbage/StorageCleanerCLI.java | 9 +- .../kylin/tool/general/RollbackStatusEnum.java | 18 +- .../kylin/tool/hadoop/CheckHadoopConfDir.java | 10 +- .../tool/kerberos/DelegationTokenManager.java | 82 +- .../kylin/tool/kerberos/KerberosLoginTask.java | 6 +- .../org/apache/kylin/tool/metrics/MetricsInfo.java | 2 +- .../org/apache/kylin/tool/obf/IpObfuscator.java | 259 +++ .../apache/kylin/tool/obf/KylinConfObfuscator.java | 3 +- .../org/apache/kylin/tool/obf/MappingRecorder.java | 7 +- .../apache/kylin/tool/routine/FastRoutineTool.java | 2 +- .../org/apache/kylin/tool/routine/RoutineTool.java | 4 +- .../tool/setup/HiveConnectivityCheckTool.java | 6 +- .../kylin/tool/setup/YarnResourceInfoTool.java | 22 +- .../snapshot/SnapshotSourceTableStatsTool.java | 7 +- .../kylin/tool/upgrade/CheckProjectModeCLI.java | 5 +- .../upgrade/CreateTableLayoutCandidateCLI.java | 7 +- .../apache/kylin/tool/upgrade/MigrateJobTool.java | 2 +- .../apache/kylin/tool/upgrade/RenameEntity.java | 2 - .../kylin/tool/upgrade/RenameUserResourceTool.java | 6 +- .../apache/kylin/tool/upgrade/UpdateModelCLI.java | 9 +- .../kylin/tool/upgrade/UpdateProjectCLI.java | 3 +- .../kylin/tool/upgrade/UpdateSessionTableCLI.java | 7 +- .../kylin/tool/upgrade/UpdateUserAclTool.java | 2 +- .../kylin/tool/upgrade/UpdateUserGroupCLI.java | 4 +- .../kylin/tool/util/HadoopConfExtractor.java | 3 +- .../java/org/apache/kylin/tool/util/ToolUtil.java | 21 +- .../org/apache/kylin/tool/AuditLogToolTest.java | 17 +- .../org/apache/kylin/tool/AuditLogWorkerTest.java | 9 +- .../apache/kylin/tool/DataflowCleanerCLITest.java | 3 +- .../org/apache/kylin/tool/DiagClientToolTest.java | 119 ++ .../org/apache/kylin/tool/JobDiagInfoToolTest.java | 6 +- .../org/apache/kylin/tool/KylinConfigCLITest.java | 8 +- .../kylin/tool/KylinConfigChecksumCLITest.java | 5 +- .../kylin/tool/KylinConfigExporterCLITest.java | 3 +- .../org/apache/kylin/tool/KylinLogToolTest.java | 21 + .../org/apache/kylin/tool/MetadataToolTest.java | 3 +- .../org/apache/kylin/tool/ProjectToolTest.java | 4 +- .../apache/kylin/tool/QueryDiagInfoToolTest.java | 9 +- .../apache/kylin/tool/RecCandidateToolTest.java | 4 +- .../org/apache/kylin/tool/StorageCleanerTest.java | 2 +- .../kylin/tool/StreamingJobDiagInfoToolTest.java | 5 +- .../org/apache/kylin/tool/SystemUsageToolTest.java | 10 +- .../apache/kylin/tool/YarnApplicationToolTest.java | 14 +- .../kylin/tool/domain/KEStatusCheckerTest.java | 3 +- .../kylin/tool/garbage/ExecutableCleanerTest.java | 2 +- .../kylin/tool/hive/HiveClientJarToolTest.java | 8 +- .../HiveClientJarToolWithoutSparkHiveDirTest.java | 2 - .../kylin/tool/routine/RoutineToolMockTest.java | 5 +- .../apache/kylin/tool/routine/RoutineToolTest.java | 2 +- .../tool/setup/ZstdLibLoadableTestToolTest.java | 5 +- .../kylin/tool/upgrade/MigrateJobToolTest.java | 2 +- .../apache/kylin/tool/util/JobMetadataWriter.java | 11 +- .../ProjectTemporaryTableCleanerHelperTest.java | 5 +- .../org/apache/kylin/tool/util/ToolUtilTest.java | 9 + src/tool/src/test/resources/obf/kylin.properties | 2 +- 1338 files changed, 21701 insertions(+), 20342 deletions(-) copy src/core-common/src/main/java/org/apache/kylin/common/exception/{NewQueryRefuseException.java => BigQueryException.java} (73%) delete mode 100644 src/core-job/src/main/java/org/apache/kylin/job/scheduler/ParallelLimiter.java delete mode 100644 src/core-job/src/main/resources/mybatis-generator-config.xml create mode 100644 src/examples/test_case_data/localmeta/metadata/_global/project/segment_overlap_test.json create mode 100644 src/examples/test_case_data/localmeta/metadata/_global/project/test_jdbc.json create mode 100644 src/examples/test_case_data/localmeta/metadata/segment_overlap_test/dataflow/d0bbfa51-9c16-b6e5-1d33-76b47d8853eb.json create mode 100644 src/examples/test_case_data/localmeta/metadata/segment_overlap_test/dataflow_details/d0bbfa51-9c16-b6e5-1d33-76b47d8853eb/19d129a3-0070-d228-9cc5-acafe78179f5.json create mode 100644 src/examples/test_case_data/localmeta/metadata/segment_overlap_test/dataflow_details/d0bbfa51-9c16-b6e5-1d33-76b47d8853eb/6c272580-f1aa-7eb9-65bf-4d8113c695fe.json create mode 100644 src/examples/test_case_data/localmeta/metadata/segment_overlap_test/dataflow_details/d0bbfa51-9c16-b6e5-1d33-76b47d8853eb/a549d3b2-6c37-a7a1-0ac5-94bc8d67f1b0.json create mode 100644 src/examples/test_case_data/localmeta/metadata/segment_overlap_test/index_plan/d0bbfa51-9c16-b6e5-1d33-76b47d8853eb.json create mode 100644 src/examples/test_case_data/localmeta/metadata/segment_overlap_test/model_desc/d0bbfa51-9c16-b6e5-1d33-76b47d8853eb.json create mode 100644 src/examples/test_case_data/localmeta/metadata/segment_overlap_test/table/SSB.LINEORDER.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/0928cbee-e7b2-76c9-d069-496cafdccff3.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/360d312b-6a74-1688-626d-4f2d99fd23a8.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/0928cbee-e7b2-76c9-d069-496cafdccff3/6590b960-29fd-0416-2d21-0e7feef99cb4.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/360d312b-6a74-1688-626d-4f2d99fd23a8/b032f0cd-2197-076b-dd0b-6d04336bb3ee.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7/f1b656b9-1795-5b4e-fe29-7649684bb9ba.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/0928cbee-e7b2-76c9-d069-496cafdccff3.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/360d312b-6a74-1688-626d-4f2d99fd23a8.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/0928cbee-e7b2-76c9-d069-496cafdccff3.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/360d312b-6a74-1688-626d-4f2d99fd23a8.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/table/CNDB.EMPLOYEE.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.CUSTOMER.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.DATES.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.LINEORDER.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.PART.json create mode 100644 src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.SUPPLIER.json rename src/kylin-it/src/test/java/org/apache/kylin/query/rules/{AggPushdownRuleTest.java => AggPushDownRuleTest.java} (74%) create mode 100644 src/kylin-it/src/test/resources/org/apache/kylin/query/rules/AggPushDownRuleTest.xml delete mode 100644 src/kylin-it/src/test/resources/org/apache/kylin/query/rules/AggPushdownRuleTest.xml rename src/query-common/src/main/java/org/apache/kylin/query/enumerator/{OLAPEnumerator.java => OlapEnumerator.java} (86%) rename src/query-common/src/main/java/org/apache/kylin/query/enumerator/{OLAPQuery.java => OlapQuery.java} (88%) delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/KapAggregateRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/KapContext.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/KapLimitRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/KapRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/KapSortRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/KapTableScan.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/KapUnionRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/KapValuesRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/KapWindowRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OLAPAggregateRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OLAPContext.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OLAPFilterRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OLAPJoinRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OLAPLimitRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OLAPProjectRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OLAPRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OLAPSortRel.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OLAPToEnumerableConverter.java create mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OlapAggregateRel.java create mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OlapContext.java rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{OLAPContextProp.java => OlapContextProp.java} (92%) rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{KapFilterRel.java => OlapFilterRel.java} (50%) rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{KapJoinRel.java => OlapJoinRel.java} (55%) create mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OlapLimitRel.java rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{KapMinusRel.java => OlapMinusRel.java} (69%) rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{KapModelViewRel.java => OlapModelViewRel.java} (67%) rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{KapNonEquiJoinRel.java => OlapNonEquiJoinRel.java} (74%) rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{KapProjectRel.java => OlapProjectRel.java} (55%) create mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OlapRel.java create mode 100644 src/query-common/src/main/java/org/apache/kylin/query/relnode/OlapSortRel.java rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{OLAPTableScan.java => OlapTableScan.java} (58%) rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{KapOLAPToEnumerableConverter.java => OlapToEnumerableConverter.java} (56%) rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{OLAPUnionRel.java => OlapUnionRel.java} (53%) rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{OLAPValuesRel.java => OlapValuesRel.java} (77%) rename src/query-common/src/main/java/org/apache/kylin/query/relnode/{OLAPWindowRel.java => OlapWindowRel.java} (53%) delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/schema/KapOLAPSchema.java delete mode 100644 src/query-common/src/main/java/org/apache/kylin/query/schema/KapOLAPTable.java rename src/query-common/src/main/java/org/apache/kylin/query/schema/{OLAPSchema.java => OlapSchema.java} (74%) rename src/query-common/src/main/java/org/apache/kylin/query/schema/{OLAPTable.java => OlapTable.java} (90%) rename src/query-common/src/main/java/org/apache/kylin/query/util/{KapRelUtil.java => OlapRelUtil.java} (95%) copy src/{common-service/src/main/java/org/apache/kylin/rest/response/ExcludedTableResponse.java => query-service/src/main/java/org/apache/kylin/rest/response/BigQueryResponse.java} (62%) create mode 100644 src/query-service/src/test/resources/ut_table_meta/testJdbcTableMetaV2 delete mode 100644 src/query/src/main/java/io/kyligence/kap/query/optrule/KapOLAPToEnumerableConverterRule.java delete mode 100644 src/query/src/main/java/io/kyligence/kap/query/optrule/KapSortRule.java delete mode 100644 src/query/src/main/java/io/kyligence/kap/query/optrule/KapUnionRule.java delete mode 100644 src/query/src/main/java/io/kyligence/kap/query/optrule/OLAPAggregateRule.java delete mode 100644 src/query/src/main/java/io/kyligence/kap/query/optrule/OLAPFilterRule.java delete mode 100644 src/query/src/main/java/io/kyligence/kap/query/optrule/OLAPJoinRule.java delete mode 100644 src/query/src/main/java/io/kyligence/kap/query/optrule/OLAPLimitRule.java delete mode 100644 src/query/src/main/java/io/kyligence/kap/query/optrule/OLAPProjectRule.java delete mode 100644 src/query/src/main/java/io/kyligence/kap/query/optrule/OLAPWindowRule.java rename src/query/src/main/java/org/apache/kylin/query/engine/exec/{calcite/CalciteQueryPlanExec.java => CalcitePlanExec.java} (97%) rename src/query/src/main/java/org/apache/kylin/query/engine/exec/{sparder/SparderQueryPlanExec.java => SparderPlanExec.java} (83%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/AbstractAggCaseWhenFunctionRule.java (99%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/AggregateMultipleExpandRule.java (99%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/AggregateProjectReduceRule.java (99%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/CorrReduceFunctionRule.java (99%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/CountDistinctCaseWhenFunctionRule.java (89%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/ExtensionOlapJoinRule.java (94%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/FilterJoinConditionMergeRule.java (79%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/FilterSimplifyRule.java (91%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/JoinFilterRule.java (88%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapAggFilterTransposeRule.java => org/apache/kylin/query/optrule/OlapAggFilterTransposeRule.java} (85%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapAggJoinTransposeRule.java => org/apache/kylin/query/optrule/OlapAggJoinTransposeRule.java} (93%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapAggProjectMergeRule.java => org/apache/kylin/query/optrule/OlapAggProjectMergeRule.java} (80%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapAggProjectTransposeRule.java => org/apache/kylin/query/optrule/OlapAggProjectTransposeRule.java} (86%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapAggSumCastRule.java => org/apache/kylin/query/optrule/OlapAggSumCastRule.java} (83%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapAggregateReduceFunctionsRule.java => org/apache/kylin/query/optrule/OlapAggregateReduceFunctionsRule.java} (85%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapAggregateRule.java => org/apache/kylin/query/optrule/OlapAggregateRule.java} (81%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapCountDistinctJoinRule.java => org/apache/kylin/query/optrule/OlapCountDistinctJoinRule.java} (79%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapEquiJoinConditionFixRule.java => org/apache/kylin/query/optrule/OlapEquivJoinConditionFixRule.java} (83%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapFilterJoinRule.java => org/apache/kylin/query/optrule/OlapFilterJoinRule.java} (82%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapFilterRule.java => org/apache/kylin/query/optrule/OlapFilterRule.java} (71%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapJoinProjectTransposeRule.java => org/apache/kylin/query/optrule/OlapJoinProjectTransposeRule.java} (71%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapJoinRule.java => org/apache/kylin/query/optrule/OlapJoinRule.java} (91%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapLimitRule.java => org/apache/kylin/query/optrule/OlapLimitRule.java} (75%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapMinusRule.java => org/apache/kylin/query/optrule/OlapMinusRule.java} (71%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapModelViewRule.java => org/apache/kylin/query/optrule/OlapModelViewRule.java} (70%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapProjectJoinTransposeRule.java => org/apache/kylin/query/optrule/OlapProjectJoinTransposeRule.java} (93%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapProjectMergeRule.java => org/apache/kylin/query/optrule/OlapProjectMergeRule.java} (68%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapProjectRule.java => org/apache/kylin/query/optrule/OlapProjectRule.java} (71%) create mode 100644 src/query/src/main/java/org/apache/kylin/query/optrule/OlapReduceExpressionRule.java rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapRuleUtils.java => org/apache/kylin/query/optrule/OlapRuleUtils.java} (93%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/OLAPSortRule.java => org/apache/kylin/query/optrule/OlapSortRule.java} (73%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapSumCastTransposeRule.java => org/apache/kylin/query/optrule/OlapSumCastTransposeRule.java} (92%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapSumTransCastToThenRule.java => org/apache/kylin/query/optrule/OlapSumTransCastToThenRule.java} (91%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/OLAPToEnumerableConverterRule.java => org/apache/kylin/query/optrule/OlapToEnumerableConverterRule.java} (70%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/OLAPUnionRule.java => org/apache/kylin/query/optrule/OlapUnionRule.java} (71%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KAPValuesRule.java => org/apache/kylin/query/optrule/OlapValuesRule.java} (70%) rename src/query/src/main/java/{io/kyligence/kap/query/optrule/KapWindowRule.java => org/apache/kylin/query/optrule/OlapWindowRule.java} (68%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/RightJoinToLeftJoinRule.java (97%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/ScalarSubqueryJoinRule.java (94%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/SumBasicOperatorRule.java (94%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/SumCaseWhenFunctionRule.java (78%) rename src/query/src/main/java/{io/kyligence/kap => org/apache/kylin}/query/optrule/SumConstantConvertRule.java (94%) delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/formatUdf/DateFormatUDF.java delete mode 100644 src/query/src/main/java/org/apache/kylin/query/udf/nullHandling/IfNullUDF.java rename src/query/src/test/java/org/apache/kylin/query/engine/{SparderQueryPlanExecAbnormalTest.java => SparderPlanExecAbnormalTest.java} (80%) delete mode 100644 src/query/src/test/java/org/apache/kylin/query/util/KapRelUtilTest.java create mode 100644 src/query/src/test/java/org/apache/kylin/query/util/OlapRelUtilTest.java create mode 100644 src/second-storage/core/src/test/java/io/kyligence/kap/secondstorage/util/SecondStorageJobUtilTest.java create mode 100644 src/server/src/main/java/org/apache/kylin/rest/QueryBlockCleanInterceptor.java copy outdated/second-storage/core/src/main/java/org/apache/kylin/job/handler/AbstractSecondStorageJobHanlder.java => src/server/src/main/java/org/apache/kylin/rest/config/KylinWebMvcConfig.java (53%) create mode 100644 src/server/src/test/java/org/apache/kylin/rest/DeleteDuringQueryTest.java copy src/{core-common/src/test/java/org/apache/kylin/common/util/HostInfoFetcherTest.java => server/src/test/java/org/apache/kylin/rest/QueryBlockCleanInterceptorTest.java} (52%) create mode 100644 src/tool/src/main/java/org/apache/kylin/tool/obf/IpObfuscator.java