This is an automated email from the ASF dual-hosted git repository.

kinghao pushed a commit to branch master-feature
in repository https://gitbox.apache.org/repos/asf/linkis.git

commit b87f07a7539e1ef9d15d596d28dbf46c4ad9ddbd
Merge: e3c84aa44f 2a3d1b1566
Author: kinghao <[email protected]>
AuthorDate: Fri Nov 21 22:19:29 2025 +0800

    merge 1.9.0

 .github/workflows/dlc.json                         |  11 +-
 .github/workflows/integration-test.yml             |  15 +-
 README.md                                          | 109 ++-
 README_CN.md                                       | 109 ++-
 codecheck.ignore                                   |  28 +
 linkis-commons/linkis-common/pom.xml               |  16 +-
 .../org/apache/linkis/common/utils/AESUtils.java   | 175 ++++
 .../org/apache/linkis/common/utils/SHAUtils.java   |  97 +++
 .../apache/linkis/common/conf/Configuration.scala  |  39 +-
 .../linkis/common/utils/CodeAndRunTypeUtils.scala  |   4 +-
 .../org/apache/linkis/common/utils/LDAPUtils.scala |   2 +-
 .../org/apache/linkis/common/utils/RSAUtils.scala  | 118 ++-
 .../org/apache/linkis/common/utils/Utils.scala     |   9 +
 .../linkis/common/variable/DateTypeUtils.scala     |   4 +
 .../linkis/common/utils/SecurityUtilsTest.java     |  15 +
 .../common/variable/VariableOperationTest.java     |   4 +-
 .../common/utils/CodeAndRunTypeUtilsTest.scala     |   2 +-
 .../linkis/hadoop/common/conf/HadoopConf.scala     |   4 +-
 .../linkis/hadoop/common/utils/HDFSUtils.scala     |  41 +-
 .../linkis/httpclient/AbstractHttpClient.scala     |  17 +-
 .../linkis/mybatis/conf/MybatisConfiguration.java  |   2 +-
 .../mybatis/conf/MybatisConfigurationTest.java     |   2 +-
 .../linkis/protocol/constants/TaskConstant.java    |   2 +
 .../linkis/scheduler/util/SchedulerUtils.java      |  84 ++
 .../scheduler/conf/SchedulerConfiguration.scala    |  18 +
 .../scheduler/executer/ExecuteResponse.scala       |   3 +
 .../scheduler/listener/JobRetryListener.scala      |  16 +-
 .../org/apache/linkis/scheduler/queue/Job.scala    |  23 +-
 .../scheduler/queue/PriorityLoopArrayQueue.scala   | 270 ++++++
 .../linkis/scheduler/queue/SchedulerEvent.scala    |  12 +
 .../queue/fifoqueue/FIFOConsumerManager.scala      |   5 +-
 .../queue/fifoqueue/FIFOUserConsumer.scala         |   2 +
 .../parallelqueue/ParallelConsumerManager.scala    |  16 +-
 .../queue/PriorityLoopArrayQueueTest.java          | 234 +++++
 .../org/apache/linkis/scheduler/queue/Test.scala   |  31 +-
 .../linkis/scheduler/util/TestSchedulerUtils.scala |  73 ++
 .../org/apache/linkis/storage/fs/FileSystem.java   |  18 +-
 .../storage/fs/impl/AzureBlobFileSystem.java       |   2 +-
 .../linkis/storage/fs/impl/HDFSFileSystem.java     |  58 +-
 .../linkis/storage/fs/impl/LocalFileSystem.java    |  17 +-
 .../linkis/storage/fs/impl/OSSFileSystem.java      |   5 -
 .../linkis/storage/fs/impl/S3FileSystem.java       |   5 -
 .../linkis/storage/conf/LinkisStorageConf.scala    |   7 +-
 .../linkis/storage/domain/MethodEntity.scala       |   7 +-
 .../org/apache/linkis/ujes/client/UJESClient.scala |   9 +-
 .../ujes/client/request/EncryptTokenAction.scala   |  59 ++
 .../ujes/client/response/EncryptTokenResult.scala  |  18 +-
 .../ujes/client/response/JobInfoResult.scala       |   2 +
 .../ujes/client/response/JobInfoResultTest.java    |  93 ++
 .../governance/common/entity/job/JobAiRequest.java | 195 +++++
 .../common/protocol/conf/TenantConf.scala          |   4 +-
 .../common/protocol/job/JobReqProcotol.scala       |   4 +-
 .../common/protocol/task/ResponseTaskExecute.scala |   9 +
 .../governance/common/utils/GovernanceUtils.scala  |  27 +-
 .../ecm/core/launch/ProcessEngineConnLaunch.scala  |  28 +-
 .../executor/conf/ComputationExecutorConf.scala    |  21 +-
 .../executor/execute/ComputationExecutor.scala     | 122 ++-
 .../executor/execute/EngineExecutionContext.scala  |  23 +-
 .../service/TaskExecutionServiceImpl.scala         |  49 +-
 .../engineconn/common/conf/EngineConnConf.scala    |   2 +
 .../common/conf/EnvConfiguration.scala             |   2 +-
 .../entrance/conf/EntranceSpringConfiguration.java |   2 +
 .../errorcode/EntranceErrorCodeSummary.java        |   7 +-
 .../linkis/entrance/job/EntranceExecutionJob.java  |   2 +-
 .../entrance/parser/AbstractEntranceParser.java    |  11 +
 .../apache/linkis/entrance/parser/ParserUtils.java |  57 +-
 .../persistence/QueryPersistenceEngine.java        |   5 +-
 .../persistence/QueryPersistenceManager.java       | 155 ++++
 .../entrance/server/DefaultEntranceServer.java     |   6 +-
 .../apache/linkis/entrance/EntranceServer.scala    | 213 +++--
 .../entrance/conf/EntranceConfiguration.scala      | 144 ++-
 .../entrance/execute/DefaultEntranceExecutor.scala | 106 ++-
 .../linkis/entrance/execute/EntranceExecutor.scala |   8 +
 .../linkis/entrance/execute/EntranceJob.scala      |   5 +
 .../impl/AISQLTransformInterceptor.scala           | 182 ++++
 .../impl/SensitiveCheckInterceptor.scala           | 107 +++
 .../interceptor/impl/TemplateConfUtils.scala       | 184 +++-
 .../EntranceUserParallelOrchestratorPlugin.scala   |   6 +-
 .../entrance/parser/CommonEntranceParser.scala     | 140 ++-
 .../entrance/persistence/PersistenceManager.scala  |   8 +-
 .../entrance/scheduler/EntranceGroupFactory.scala  |  45 +-
 .../linkis/entrance/utils/CommonLogPathUtils.scala |  47 +-
 .../linkis/entrance/utils/EntranceUtils.scala      | 346 +++++++-
 .../linkis/entrance/utils/JobHistoryHelper.scala   |  18 +-
 .../apache/linkis/entrance/utils/SafeUtils.scala   |  92 ++
 .../interceptor/impl/TemplateConfUtilsTest.java    |  62 +-
 .../linkis/ujes/jdbc/UJESSQLDriverMain.scala       |  14 +-
 .../apache/linkis/ujes/jdbc/UJESSQLResultSet.scala |  25 +-
 .../linkis/manager/am/conf/AMConfiguration.java    |  40 +-
 .../am/converter/DefaultMetricsConverter.java      |   1 +
 .../am/manager/DefaultEngineNodeManager.java       |  25 +-
 .../manager/am/pointer/AbstractNodePointer.java    |   5 +
 .../linkis/manager/am/restful/EMRestfulApi.java    |   1 +
 .../manager/am/restful/EngineRestfulApi.java       |  14 +-
 .../am/service/impl/ECResourceInfoServiceImpl.java |   7 +-
 .../rm/external/yarn/YarnResourceRequester.java    | 136 ++-
 .../conf/EngineConnPluginConfiguration.scala       |   3 +
 .../am/selector/rule/HotspotExclusionRule.scala    |  16 +-
 .../am/service/em/DefaultEMInfoService.scala       |  30 +-
 .../engine/DefaultEngineAskEngineService.scala     | 204 +++--
 .../engine/DefaultEngineCreateService.scala        |  33 +-
 .../service/engine/DefaultEngineInfoService.scala  |  28 +-
 .../service/engine/DefaultEngineReuseService.scala | 184 +++-
 .../service/engine/DefaultEngineStopService.scala  |  40 +-
 .../apache/linkis/manager/am/utils/AMUtils.scala   | 116 ++-
 .../manager/label/service/NodeLabelService.scala   |   5 +
 .../service/impl/DefaultNodeLabelService.scala     |  72 +-
 .../manager/rm/entity/LabelResourceMap.scala       |   5 +-
 .../manager/rm/entity/ResourceOperationType.scala  |   2 +-
 .../linkis/manager/rm/restful/RMMonitorRest.scala  |   2 +-
 .../manager/rm/service/ResourceLockService.scala   |   2 +-
 .../rm/service/impl/DefaultResourceManager.scala   | 237 +++--
 .../selector/rule/HotspotExclusionRuleTest.scala   |   4 +-
 .../label/builder/CombinedLabelBuilder.java        |   2 +-
 .../manager/label/conf/LabelCommonConfig.java      |  29 +-
 .../manager/label/entity/cluster/ClusterLabel.java |   5 +
 .../label/utils/EngineTypeLabelCreator.java        |  25 +-
 .../manager/common/conf/RMConfiguration.java       |  17 +-
 .../manager/common/entity/node/AMEngineNode.java   |  12 +
 .../manager/common/entity/node/EngineNode.java     |   4 +
 .../common/entity/persistence/PersistenceNode.java |  13 +
 .../entity/persistence/PersistenceResource.java    |  20 +
 .../entity/resource/LoadInstanceResource.java      |  16 +-
 .../common/entity/resource/LoadResource.java       |   2 +-
 .../common/entity/resource/MemoryResource.java     |   2 +-
 .../common/entity/resource/SpecialResource.java    |   5 +-
 .../linkis/manager/common/utils/ResourceUtils.java |   3 +
 .../linkis/manager/dao/LabelManagerMapper.java     |  10 +
 .../persistence/ResourceManagerPersistence.java    |   6 +
 .../impl/DefaultLabelManagerPersistence.java       |  77 +-
 .../impl/DefaultNodeManagerPersistence.java        |   4 +
 .../impl/DefaultNodeMetricManagerPersistence.java  |   1 +
 .../impl/DefaultResourceManagerPersistence.java    |   5 +
 .../resources/mapper/common/LabelManagerMapper.xml |  60 +-
 .../resources/mapper/common/NodeManagerMapper.xml  |   3 +
 linkis-dist/bin/install-linkis-to-kubernetes.sh    |   2 +
 .../ldh-with-mysql-jdbc.Dockerfile}                |  39 +-
 linkis-dist/docker/ldh.Dockerfile                  |   9 +-
 .../scripts/make-ldh-image-with-mysql-jdbc.sh      |  51 ++
 .../linkis/templates/configmap-linkis-config.yaml  |   6 +-
 linkis-dist/helm/charts/linkis/templates/jobs.yaml |  11 +-
 linkis-dist/helm/scripts/install-ldh.sh            |   5 +-
 linkis-dist/helm/scripts/prepare-for-spark.sh      |  25 +-
 .../resources/ldh/configmaps/configmap-hadoop.yaml | 125 ++-
 .../package/admin/clear_bml_resources_task.sh      |  57 ++
 linkis-dist/package/admin/clear_history_task.sh    |  45 +-
 linkis-dist/package/admin/linkis_task_archive.sh   |  82 ++
 .../admin/linkis_udf_get_python_methods.py}        |  44 +-
 linkis-dist/package/admin/tools/linkis-analyze.sh  | 601 +++++++++++++
 linkis-dist/package/admin/tools/linkis-log-tool.sh |  61 ++
 linkis-dist/package/admin/tools/remote-engine.sh   |  53 ++
 linkis-dist/package/conf/application-eureka.yml    |   6 +-
 linkis-dist/package/db/linkis_ddl.sql              | 143 ++-
 .../db/upgrade/1.4.1_schema/mysql/linkis_ddl.sql   |  96 ++
 linkis-dist/release-docs/NOTICE                    | 671 +++++++++++++-
 .../release-docs/licenses/LICENSE-azure.txt        |  21 +
 .../release-docs/licenses/LICENSE-content-type.txt | 202 +++++
 .../release-docs/licenses/LICENSE-lang-tag.txt     | 202 +++++
 .../release-docs/licenses/LICENSE-msal4j.txt       |  21 +
 .../licenses/LICENSE-oauth2-oidc-sdk.txt           | 202 +++++
 .../hive/src/main/assembly/distribution.xml        |   4 +
 .../hive/src/main/resources/log4j2.xml             |  11 +-
 .../hive/conf/HiveEngineConfiguration.scala        |  12 +
 .../hive/executor/HiveEngineConnExecutor.scala     |  49 +-
 .../HiveProcessEngineConnLaunchBuilder.scala       |  12 +
 .../io/executor/IoEngineConnExecutor.scala         |   5 +-
 .../manager/engineplugin/io/utils/IOHelp.scala     |   8 +-
 linkis-engineconn-plugins/jdbc/pom.xml             |   6 -
 .../engineplugin/jdbc/ConnectionManager.java       |   5 +
 .../jdbc/constant/JDBCEngineConnConstant.java      |  11 +-
 .../engineplugin/jdbc/conf/JDBCConfiguration.scala |   8 +-
 .../jdbc/executor/JDBCEngineConnExecutor.scala     |  94 +-
 .../jdbc/executor/JDBCMultiDatasourceParser.scala  |  61 +-
 .../nebula/executor/NebulaEngineConnExecutor.java  |   4 +-
 .../AccessibleExecutorConfiguration.scala          |  46 +
 linkis-engineconn-plugins/spark/pom.xml            | 133 +++
 .../spark/client/deployment/util/FileUtils.java    |   3 +-
 .../client/deployment/util/KubernetesHelper.java   |   2 +-
 .../engineplugin/spark/common/MultiTreeNode.java   |  66 ++
 .../spark/errorcode/SparkErrorCodeSummary.java     |   1 +
 .../engineplugin/spark/utils/PlanParseUtil.java    | 262 ++++++
 .../spark/src/main/resources/log4j2.xml            |   8 +-
 .../spark/config/SparkConfiguration.scala          |   4 +
 .../spark/exception/RuleCheckFailedException.scala |  12 +-
 .../engineplugin/spark/executor/SQLSession.scala   |  14 +
 .../spark/executor/SparkEngineConnExecutor.scala   | 121 ++-
 .../spark/executor/SparkSqlExecutor.scala          |   1 +
 .../spark/extension/SparkUDFCheckRule.scala        |  69 ++
 .../monitor/config/ApplicationConfiguration.java   |   2 -
 .../monitor/scheduled/JobHistoryMonitor.java       |   7 +
 .../linkis/monitor/scheduled/TaskArchiveClear.java |   7 +-
 .../monitor/scheduled/UserDepartmentInfoSync.java  |   2 +-
 .../apache/linkis/monitor/until/ThreadUtils.java   |   9 +-
 .../linkis/monitor/constants/Constants.scala       |   1 +
 .../jobhistory/jobtime/JobTimeExceedRule.scala     |  16 +-
 .../jobtime/StarrocksTimeExceedAlterSender.scala   |  84 ++
 .../jobtime/StarrocksTimeExceedRule.scala          |  20 +
 .../jobtime/StarrocksTimeKillHitEvent.scala}       |   0
 ...torResourceAction.scala => MonitorAction.scala} |   0
 .../io/iteraceptor/IOMethodInterceptor.scala       |  21 +-
 .../computation/monitor/EngineConnMonitor.scala    |  20 +-
 .../physical/CodeLogicalUnitExecTask.scala         |   2 +
 .../service/ComputationTaskExecutionReceiver.scala |  10 +
 .../conf/OrchestratorConfiguration.scala           |   5 +-
 .../execution/impl/DefaultFailedTaskResponse.scala |   6 +
 .../orchestrator/plans/physical/ExecTask.scala     |  10 +
 .../plans/physical/PhysicalContextImpl.scala       |  40 +-
 .../configuration/dao/DepartmentTenantMapper.java  |   5 +-
 .../configuration/dao/TemplateConfigKeyMapper.java |   4 +
 .../restful/api/ConfigurationRestfulApi.java       |  68 +-
 .../restful/api/TemplateRestfulApi.java            |  36 +-
 .../restful/api/TenantConfigrationRestfulApi.java  |   8 +-
 .../service/TemplateConfigKeyService.java          |   2 +
 .../configuration/service/TenantConfigService.java |   9 +-
 .../service/impl/TemplateConfigKeyServiceImpl.java |  59 ++
 .../service/impl/TenantConfigServiceImpl.java      |  25 +-
 .../service/impl/TenantServiceImpl.java            |  11 +-
 .../resources/mapper/common/DepartmentMapper.xml   |   2 +-
 .../mapper/common/DepartmentTenantMapper.xml       |   2 +
 .../mapper/common/TemplateConfigKeyMapper.xml      |  15 +
 .../linkis/configuration/conf/Configuration.scala  |  14 +
 .../service/ConfigurationService.scala             |   8 +-
 .../core/conf/DatasourceConf.java                  |  10 +-
 .../datasourcemanager/core/dao/DataSourceDao.java  |   4 +
 .../core/dao/DataSourceVersionDao.java             |   2 +
 .../core/receivers/DsmReceiver.java                |  11 +-
 .../core/restful/DataSourceCoreRestfulApi.java     | 523 ++++++++++-
 .../core/restful/DataSourceOperateRestfulApi.java  |  18 +
 .../core/restful/RestfulApiHelper.java             |  56 +-
 .../core/service/DataSourceInfoService.java        |  14 +-
 .../service/impl/DataSourceInfoServiceImpl.java    |  52 ++
 .../query/server/restful/MetadataQueryRestful.java |  56 --
 .../resources/mapper/mysql/DataSouceMapper.xml     |   9 +
 .../mapper/mysql/DataSourceVersionMapper.xml       |   4 +
 .../metadata/query/service/EsMetaService.java      |   6 +-
 .../query/service/AbstractSqlConnection.java       | 176 ++--
 .../query/service/ClickhouseMetaService.java       |  24 +-
 .../metadata/query/service/Db2MetaService.java     |  16 -
 .../metadata/query/service/DmMetaService.java      |  24 +-
 .../query/service/GreenplumMetaService.java        |  16 -
 .../query/service/KingbaseMetaService.java         |  16 -
 .../metadata/query/service/MysqlMetaService.java   |  16 -
 .../metadata/query/service/OracleMetaService.java  |  16 -
 .../query/service/PostgresqlMetaService.java       |  16 -
 .../query/service/SqlserverMetaService.java        |  16 -
 .../query/service/clickhouse/SqlConnection.java    | 102 ++-
 .../metadata/query/service/db2/SqlConnection.java  | 165 +++-
 .../metadata/query/service/dm/SqlConnection.java   | 116 ++-
 .../query/service/greenplum/SqlConnection.java     | 148 +++-
 .../query/service/kingbase/SqlConnection.java      | 137 ++-
 .../query/service/mysql/SqlConnection.java         | 181 ++--
 .../query/service/oracle/SqlConnection.java        | 133 ++-
 .../query/service/postgres/SqlConnection.java      | 148 +++-
 .../query/service/sqlserver/SqlConnection.java     | 123 ++-
 .../query/service/starrocks/SqlConnection.java     | 251 ++++++
 .../service/impl/MetadataQueryServiceImpl.java     | 521 +++++++++++
 .../query/service/AbstractSqlConnection.java       |  66 --
 .../query/service/clickhouse/SqlConnection.java    | 113 ++-
 .../metadata/query/service/db2/SqlConnection.java} | 175 ++--
 .../metadata/query/service/dm/SqlConnection.java   | 104 ++-
 .../query/service/greenplum/SqlConnection.java}    | 185 ++--
 .../query/service/kingbase/SqlConnection.java      | 101 ++-
 .../query/service/mysql/SqlConnection.java         | 148 +++-
 .../query/service/oracle/SqlConnection.java        | 126 ++-
 .../query/service/postgres}/SqlConnection.java     | 165 ++--
 .../query/service/sqlserver/SqlConnection.java     | 109 ++-
 .../query/service/starrocks/SqlConnection.java     | 251 ++++++
 .../domain/mdq/po/RangerBaseModelObject.java       | 126 +++
 .../metadata/domain/mdq/po/RangerPolicy.java       | 798 +++++++++++++++++
 .../domain/mdq/vo/MdqTableStatisticInfoDTO.java    |  68 ++
 .../apache/linkis/metadata/hive/config/DSEnum.java |   3 +-
 .../linkis/metadata/hive/dao/HiveMetaDao.java      |  64 +-
 .../apache/linkis/metadata/hive/dao/RangerDao.java |  14 +-
 .../metadata/restful/api/DataSourceRestfulApi.java |  82 +-
 .../metadata/restful/api/MdqTableRestfulApi.java   |  79 +-
 .../restful/remote/DataSourceRestfulRemote.java    |   5 +-
 .../linkis/metadata/service/DataSourceService.java |  26 +-
 .../service/HiveMetaWithPermissionService.java     |   2 +-
 .../apache/linkis/metadata/service/MdqService.java |   9 +-
 ...onService.java => RangerPermissionService.java} |  12 +-
 .../service/impl/DataSourceServiceImpl.java        | 313 ++++++-
 .../impl/HiveMetaWithPermissionServiceImpl.java    | 146 +++-
 .../metadata/service/impl/MdqServiceImpl.java      |  89 +-
 .../service/impl/RangerPermissionServiceImpl.java  | 125 +++
 .../org/apache/linkis/metadata/util/DWSConfig.java |  15 +-
 .../main/resources/mapper/common/HiveMetaDao.xml   | 252 ++++++
 .../src/main/resources/mapper/mysql/RangerDao.xml} |  43 +-
 .../resources/mapper/postgresql/HiveMetaDao.xml    | 552 +++++++++---
 .../linkis/metadata/conf/MdqConfiguration.scala    |   9 +
 .../linkis/metadata/hive/dao/HiveMetaDaoTest.java  |  14 +-
 .../linkis/jobhistory/dao/JobAiHistoryMapper.java  |  28 +-
 .../linkis/jobhistory/dao/JobDiagnosisMapper.java  |  12 +-
 .../linkis/jobhistory/dao/JobHistoryMapper.java    |  11 +-
 .../linkis/jobhistory/entity/JobAiHistory.java     | 204 +++++
 .../linkis/jobhistory/entity/JobDiagnosis.java     | 101 +++
 .../linkis/jobhistory/entity/QueryTaskVO.java      |  28 +
 .../jobhistory/restful/api/QueryRestfulApi.java    | 141 ++-
 .../linkis/jobhistory/transitional/TaskStatus.java |  11 +
 .../linkis/jobhistory/util/JobhistoryUtils.java    |  43 +-
 .../resources/mapper/common/JobAiHistoryMapper.xml |  59 ++
 .../resources/mapper/common/JobDiagnosisMapper.xml |  45 +
 .../resources/mapper/mysql/JobHistoryMapper.xml    |  17 +
 .../jobhistory/conversions/TaskConversions.scala   |  77 +-
 .../jobhistory/service/JobAiHistoryService.java    |  17 +-
 .../service/JobHistoryDiagnosisService.java        |  25 +-
 .../jobhistory/service/JobHistoryQueryService.java |   4 +-
 .../service/impl/JobAiHistoryServiceImpl.scala     |  58 ++
 .../impl/JobHistoryDiagnosisServicelmpl.scala      |  52 ++
 .../service/impl/JobHistoryQueryServiceImpl.scala  | 116 ++-
 .../apache/linkis/jobhistory/util/QueryUtils.scala |   6 +
 .../jobhistory/dao/JobHistoryMapperTest.java       |   7 +-
 .../service/JobHistoryQueryServiceTest.java        |   1 +
 .../org/apache/linkis/bml/client/BmlClient.java    |   2 +
 .../DatasourceClientErrorCodeSummary.java          |   4 +
 .../linkis/bml/client/impl/HttpBmlClient.scala     |  11 +
 .../datasource/client/DataSourceRemoteClient.scala |   4 +
 .../client/impl/LinkisDataSourceRemoteClient.scala |   5 +
 .../request/GetDataSourceByTypeNameAction.scala    |  85 ++
 .../GetDataSourceKeyDefineByTypeAction.scala       |  65 ++
 .../GetInfoPublishedByUserIpPortAction.scala       | 121 +++
 .../response/GetDataSourceByTypeNameResult.scala   |  44 +
 .../GetDataSourceKeyDefineByTypeResult.scala       |  47 +
 .../GetInfoPublishedByUserIpPortResult.scala       |  27 +-
 .../common/domain/DataSource.java                  |   9 +
 .../query/common/domain/GenerateSqlInfo.java       |   0
 .../query/common/service/SparkDdlSQlTemplate.java  |  26 +-
 .../linkis/udf/entity/PythonModuleInfoVO.java      |  11 +
 .../apache/linkis/bml/protocol/BmlProtocol.scala   |   6 +
 .../server/dao/GatewayAuthTokenRelationMapper.java |  11 +-
 .../domain/GatewayAuthRelationTokenEntity.java     | 145 ++++
 .../server/domain/GatewayAuthTokenEntity.java      |  16 +
 .../server/restful/GatewayAuthTokenRestfulApi.java | 160 +++-
 ...e.java => GatewayAuthTokenRelationService.java} |   9 +-
 .../server/service/GatewayAuthTokenService.java    |   6 +
 .../GatewayAuthTokenRelationServicelmpl.java}      |  22 +-
 .../service/impl/GatewayAuthTokenServiceImpl.java  |  14 +
 .../filesystem/conf/WorkSpaceConfiguration.java    |   6 +
 .../filesystem/constant/WorkSpaceConstants.java    |   5 +-
 .../exception/WorkspaceExceptionManager.java       |   5 +
 .../filesystem/restful/api/FsRestfulApi.java       | 453 ++++++----
 .../linkis/filesystem/util/FilesystemUtils.java    |  78 ++
 .../linkis/filesystem/util/WorkspaceUtil.java      |   4 +-
 .../mapper/common/GatewayAuthTokenMapper.xml       |   3 +-
 .../common/GatewayAuthTokenRelationMapper.xml      |  24 +
 .../org/apache/linkis/udf/api/UDFRestfulApi.java   | 200 ++++-
 .../java/org/apache/linkis/udf/conf/Constants.java |  37 +
 .../apache/linkis/udf/entity/PythonModuleInfo.java |  11 +
 .../apache/linkis/udf/exception/UdfException.java  |  26 +-
 .../java/org/apache/linkis/udf/utils/UdfUtils.java | 341 ++++++++
 .../mapper/common/PythonModuleInfoMapper.xml       |   6 +-
 .../apache/linkis/udf/api/rpc/UdfReceiver.scala    |   2 +
 .../src/main/assembly/distribution.xml             |   9 +-
 .../gateway/authentication/dao/TokenDao.java       |   4 +
 .../gateway/authentication/entity/TokenEntity.java |   9 +
 .../main/resources/mapper/common/TokenMapper.xml   |  20 +
 .../authentication/conf/TokenConfiguration.scala   |   2 +-
 .../service/CachedTokenService.scala               |  51 +-
 .../gateway/authentication/dao/TokenDaoTest.java   |   2 +-
 .../service/CachedTokenServiceTest.java            |   2 +-
 .../src/test/resources/create.sql                  |   2 +-
 .../src/test/resources/create_pg.sql               |   2 +-
 .../gateway/config/GatewayConfiguration.scala      |   5 +
 .../linkis/gateway/security/UserRestful.scala      |  28 +
 .../security/token/TokenAuthentication.scala       |  33 +-
 .../StaticAuthenticationStrategy.scala             |   3 +
 .../ujes/parser/EntranceRequestGatewayParser.scala |  71 +-
 .../src/apps/PythonModule/.env                     |  13 +-
 .../src/apps/PythonModule/.fes.js                  |  23 +-
 .../src/apps/PythonModule/.fes.prod.js             |  16 +-
 .../src/apps/PythonModule/.fes.test.js             |  16 +-
 linkis-web/src/apps/PythonModule/index.html        |  31 +
 .../src/apps/PythonModule/public/tutorial.html     | 104 +++
 linkis-web/src/apps/PythonModule/src/app.jsx       |  68 ++
 .../src/apps/PythonModule/src/global.less          |  21 +-
 .../apps/PythonModule/src/letgo/cache-control.js   | 248 ++++++
 .../src/letgo/components/pageLoading.vue           |  39 +
 .../src/apps/PythonModule/src/letgo/global.css     |  15 +-
 .../src/apps/PythonModule/src/letgo/globalBase.js  |  34 +-
 .../apps/PythonModule/src/letgo/letgoConstants.js  |  25 +-
 .../apps/PythonModule/src/letgo/letgoRequest.js    |  15 +-
 .../src/apps/PythonModule/src/letgo/pageBase.js    |  18 +-
 .../src/apps/PythonModule/src/letgo/reactive.js    |  90 ++
 .../src/apps/PythonModule/src/letgo/shared.js      |  52 ++
 .../src/apps/PythonModule/src/letgo/useComputed.js |  24 +-
 .../src/apps/PythonModule/src/letgo/useInstance.js |  47 +-
 .../src/apps/PythonModule/src/letgo/useJSQuery.js  | 140 +++
 .../apps/PythonModule/src/letgo/useLetgoGlobal.js  |  94 ++
 .../PythonModule/src/letgo/useTemporaryState.js    |  36 +-
 .../src/apps/PythonModule/src/locales/en-US.js     |  79 ++
 .../src/apps/PythonModule/src/locales/zh-CN.js     |  78 ++
 .../apps/PythonModule/src/pages/index/index.jsx    | 964 +++++++++++++++++++++
 .../src/apps/PythonModule/src/pages/index/main.js  | 447 ++++++++++
 .../src/apps/linkis/components/tag/index.vue       |  15 +-
 .../src/apps/linkis/module/pythonModule/index.vue  |  30 +
 .../linkis/module/resourceManagement/index.vue     |   4 +-
 pom.xml                                            |   1 +
 tool/dependencies/known-dependencies.txt           |  17 +
 397 files changed, 20846 insertions(+), 3100 deletions(-)

diff --cc 
linkis-extensions/linkis-et-monitor/src/main/java/org/apache/linkis/monitor/scheduled/JobHistoryMonitor.java
index c1a7a16d06,712ae62899..1d96819e09
--- 
a/linkis-extensions/linkis-et-monitor/src/main/java/org/apache/linkis/monitor/scheduled/JobHistoryMonitor.java
+++ 
b/linkis-extensions/linkis-et-monitor/src/main/java/org/apache/linkis/monitor/scheduled/JobHistoryMonitor.java
@@@ -29,7 -27,10 +29,11 @@@ import org.apache.linkis.monitor.jobhis
  import 
org.apache.linkis.monitor.jobhistory.errorcode.JobHistoryErrorCodeAlertSender;
  import org.apache.linkis.monitor.jobhistory.index.JobIndexRule;
  import org.apache.linkis.monitor.jobhistory.index.JobIndexSender;
 +import org.apache.linkis.monitor.jobhistory.jobtime.*;
+ import org.apache.linkis.monitor.jobhistory.jobtime.JobTimeExceedAlertSender;
+ import org.apache.linkis.monitor.jobhistory.jobtime.JobTimeExceedRule;
+ import 
org.apache.linkis.monitor.jobhistory.jobtime.StarrocksTimeExceedAlterSender;
+ import org.apache.linkis.monitor.jobhistory.jobtime.StarrocksTimeExceedRule;
  import 
org.apache.linkis.monitor.jobhistory.labels.JobHistoryLabelsAlertSender;
  import org.apache.linkis.monitor.jobhistory.labels.JobHistoryLabelsRule;
  import org.apache.linkis.monitor.jobhistory.runtime.CommonJobRunTimeRule;
@@@ -222,52 -215,9 +226,55 @@@ public class JobHistoryMonitor 
                jobTimeAlerts.keySet(), new 
JobTimeExceedAlertSender(jobTimeAlerts));
        scanner.addScanRule(jobTimeExceedRule);
      }
+     StarrocksTimeExceedRule starrocksTimeExceedRule =
+         new StarrocksTimeExceedRule(new StarrocksTimeExceedAlterSender());
+     scanner.addScanRule(starrocksTimeExceedRule);
      JobMonitorUtils.run(scanner, fetchers, shouldStart);
    }
 +
 +  /** * 每10分钟扫描一次,扫描两个小时之内的任务,告警要求:管理台配置告警相关参数 */
 +  @Scheduled(cron = "${linkis.monitor.jdbc.timeout.alert.cron:0 0/10 0 * * 
?}")
 +  public void jdbcUnfinishedAlertScan() {
 +    long id =
 +        
Optional.ofNullable(CacheUtils.cacheBuilder.getIfPresent("jdbcUnfinishedAlertScan"))
 +            .orElse(MonitorConfig.JOB_HISTORY_TIME_EXCEED.getValue());
 +    long intervalMs = 7200 * 1000L;
 +    long maxIntervalMs = Constants.ERRORCODE_MAX_INTERVALS_SECONDS() * 1000;
 +    long endTime = System.currentTimeMillis();
 +    long startTime = endTime - intervalMs;
 +    AnomalyScanner scanner = new DefaultScanner();
 +    List<DataFetcher> fetchers =
 +        JobMonitorUtils.generateFetchers(startTime, endTime, maxIntervalMs, 
id, "");
 +    if (fetchers.isEmpty()) {
 +      logger.warn("jdbcUnfinishedScan generated 0 dataFetchers, plz check 
input");
 +      return;
 +    }
 +    StarrocksTimeExceedRule starrocksTimeExceedRule =
 +        new StarrocksTimeExceedRule(new StarrocksTimeExceedAlertSender());
 +    scanner.addScanRule(starrocksTimeExceedRule);
 +    JobMonitorUtils.run(scanner, fetchers, true);
 +  }
 +
 +  /** * 每10分钟扫描一次,扫描两个小时之内的任务,满足要求触发kill kill要求:数据源配置kill参数 */
 +  @Scheduled(cron = "${linkis.monitor.jdbc.timeout.kill.cron:0 0/10 0 * * ?}")
 +  public void jdbcUnfinishedKillScan() {
 +    long id =
 +        
Optional.ofNullable(CacheUtils.cacheBuilder.getIfPresent("jdbcUnfinishedKillScan"))
 +            .orElse(MonitorConfig.JOB_HISTORY_TIME_EXCEED.getValue());
 +    long intervalMs = 7200 * 1000L;
 +    long maxIntervalMs = Constants.ERRORCODE_MAX_INTERVALS_SECONDS() * 1000;
 +    long endTime = System.currentTimeMillis();
 +    long startTime = endTime - intervalMs;
 +    AnomalyScanner scanner = new DefaultScanner();
 +    List<DataFetcher> fetchers =
 +        JobMonitorUtils.generateFetchers(startTime, endTime, maxIntervalMs, 
id, "");
 +    if (fetchers.isEmpty()) {
 +      logger.warn("jdbcUnfinishedScan generated 0 dataFetchers, plz check 
input");
 +      return;
 +    }
 +    StarrocksTimeKillRule starrocksTimeKillRule =
 +        new StarrocksTimeKillRule(new StarrocksTimeKillAlertSender());
 +    scanner.addScanRule(starrocksTimeKillRule);
 +    JobMonitorUtils.run(scanner, fetchers, true);
 +  }
  }
diff --cc 
linkis-extensions/linkis-et-monitor/src/main/scala/org/apache/linkis/monitor/constants/Constants.scala
index affa0ccb83,983b08f909..995cb9bb0a
--- 
a/linkis-extensions/linkis-et-monitor/src/main/scala/org/apache/linkis/monitor/constants/Constants.scala
+++ 
b/linkis-extensions/linkis-et-monitor/src/main/scala/org/apache/linkis/monitor/constants/Constants.scala
@@@ -113,4 -113,6 +113,5 @@@ object Constants 
  
    val JDBC_ENGINE = "jdbc"
  
+   val TASK_ARCHIVE_SH = "linkis_task_archive.sh"
 -
  }
diff --cc 
linkis-extensions/linkis-et-monitor/src/main/scala/org/apache/linkis/monitor/jobhistory/jobtime/StarrocksTimeExceedRule.scala
index b616c5c02c,8521af6b57..d1d0820db8
--- 
a/linkis-extensions/linkis-et-monitor/src/main/scala/org/apache/linkis/monitor/jobhistory/jobtime/StarrocksTimeExceedRule.scala
+++ 
b/linkis-extensions/linkis-et-monitor/src/main/scala/org/apache/linkis/monitor/jobhistory/jobtime/StarrocksTimeExceedRule.scala
@@@ -83,10 -80,27 +83,30 @@@ class StarrocksTimeExceedRule(hitObserv
                      alertData.add(job)
                    }
                  }
 +              }
 +              if (taskMinID == 0L || taskMinID > job.getId) {
 +                taskMinID = job.getId
 +                scanRuleList.put("jdbcUnfinishedAlertScan", taskMinID)
+                 // 获取超时kill配置信息
+                 if (StringUtils.isNotBlank(job.getParams)) {
+                   val connectParamsMap = MapUtils.getMap(
+                     datasourceConfMap,
+                     "connectParams",
+                     new util.HashMap[AnyRef, AnyRef]
+                   )
+                   val killTime = MapUtils.getString(connectParamsMap, 
"kill_task_time", "")
+                   logger.info("starock  killTime: {}", killTime)
+                   if (StringUtils.isNotBlank(killTime) && elapse > 
killTime.toLong * 60 * 1000) {
+                     if (StringUtils.isNotBlank(killTime)) {
+                       val timeoutInSeconds = timeValue.toDouble
+                       val timeoutInMillis = (timeoutInSeconds * 60 * 
1000).toLong
+                       if (elapse > timeoutInMillis) {
+                         // 触发kill任务
+                         HttpsUntils.killJob(job)
+                       }
+                     }
+                   }
+                 }
 -//                }
                }
              case _ =>
                logger.warn(
diff --cc 
linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-authentication/src/test/resources/create.sql
index b9bd3fc575,67e389f806..8fc39b1e56
--- 
a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-authentication/src/test/resources/create.sql
+++ 
b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-authentication/src/test/resources/create.sql
@@@ -37,4 -37,4 +37,4 @@@ DELETE FROM linkis_mg_gateway_auth_toke
  -- ----------------------------
  -- Default Tokens
  -- ----------------------------
- INSERT INTO 
`linkis_mg_gateway_auth_token`(`token_name`,`legal_users`,`legal_hosts`,`business_owner`,`create_time`,`update_time`,`elapse_day`,`update_by`)
 VALUES 
('LINKIS-UNAVAILABLE-TOKE','test','127.0.0.1','BDP',curdate(),curdate(),-1,'LINKIS');
 -INSERT INTO 
`linkis_mg_gateway_auth_token`(`token_name`,`legal_users`,`legal_hosts`,`business_owner`,`create_time`,`update_time`,`elapse_day`,`update_by`)
 VALUES 
('LINKIS-UNAVAILABLE-TOKEN','test','127.0.0.1','BDP',curdate(),curdate(),-1,'LINKIS');
++INSERT INTO 
`linkis_mg_gateway_auth_token`(`token_name`,`legal_users`,`legal_hosts`,`business_owner`,`create_time`,`update_time`,`elapse_day`,`update_by`)
 VALUES 
('LINKIS-UNAVAILABLE-TOKEN','test','127.0.0.1','BDP',curdate(),curdate(),-1,'LINKIS');
diff --cc 
linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-authentication/src/test/resources/create_pg.sql
index a2f532ce15,c68dc66459..725ed37bf1
--- 
a/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-authentication/src/test/resources/create_pg.sql
+++ 
b/linkis-spring-cloud-services/linkis-service-gateway/linkis-gateway-authentication/src/test/resources/create_pg.sql
@@@ -34,4 -34,4 +34,4 @@@ delete from linkis_mg_gateway_auth_toke
  -- ----------------------------
  -- Default Tokens
  -- ----------------------------
- INSERT INTO 
"linkis_mg_gateway_auth_token"("token_name","legal_users","legal_hosts","business_owner","create_time","update_time","elapse_day","update_by")
 VALUES 
('LINKIS-UNAVAILABLE-TOKE','test','127.0.0.1','BDP',now(),now(),-1,'LINKIS');
 -INSERT INTO 
"linkis_mg_gateway_auth_token"("token_name","legal_users","legal_hosts","business_owner","create_time","update_time","elapse_day","update_by")
 VALUES 
('LINKIS-UNAVAILABLE-TOKEN','test','127.0.0.1','BDP',now(),now(),-1,'LINKIS');
++INSERT INTO 
"linkis_mg_gateway_auth_token"("token_name","legal_users","legal_hosts","business_owner","create_time","update_time","elapse_day","update_by")
 VALUES 
('LINKIS-UNAVAILABLE-TOKEN','test','127.0.0.1','BDP',now(),now(),-1,'LINKIS');


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to