This is an automated email from the ASF dual-hosted git repository. wangyang pushed a commit to branch augit-log in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
commit 27277f820d5e6988d7f5303d1cc547f5abc84ac4 Merge: 844585af49 2f66a667ba Author: Draven <qing...@cisco.com> AuthorDate: Thu Feb 1 16:10:47 2024 +0800 Merge branch 'dev' into augit-log # Conflicts: # dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ClusterController.java # dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/AuditLogMapperTest.java .github/workflows/backend.yml | 4 +- .github/workflows/e2e.yml | 2 + README.md | 2 +- README_zh_CN.md | 2 +- deploy/kubernetes/dolphinscheduler/README.md | 22 +- deploy/kubernetes/dolphinscheduler/values.yaml | 45 +++- docs/docs/en/architecture/configuration.md | 80 +++--- docs/docs/en/guide/installation/kubernetes.md | 2 + docs/docs/en/guide/project/workflow-definition.md | 11 +- docs/docs/en/guide/task/flink.md | 2 +- docs/docs/en/guide/task/spark.md | 2 +- docs/docs/zh/architecture/configuration.md | 226 +++++++++-------- docs/docs/zh/guide/installation/kubernetes.md | 2 + docs/docs/zh/guide/project/workflow-definition.md | 13 +- docs/docs/zh/guide/task/flink.md | 2 +- docs/docs/zh/guide/task/spark.md | 2 +- docs/img/new_ui/dev/project/workflow-list.png | Bin 143361 -> 155286 bytes docs/img/new_ui/dev/project/workflow-time03.png | Bin 62574 -> 172800 bytes docs/img/new_ui/dev/project/workflow-time04.png | Bin 0 -> 200575 bytes docs/img/scheduler_online.png | Bin 0 -> 1703 bytes docs/img/timeManagement.png | Bin 11195 -> 0 bytes .../src/main/bin/jvm_args_env.sh | 1 + .../apache/dolphinscheduler/alert/AlertServer.java | 4 + .../dolphinscheduler/alert/config/AlertConfig.java | 8 +- .../alert/metrics/AlertServerMetrics.java | 6 + .../alert/registry/AlertHeartbeatTask.java | 17 +- .../alert/registry/AlertRegistryClient.java | 6 +- .../src/main/resources/application.yaml | 2 +- .../api/test/cases/ProcessInstanceAPITest.java | 54 ++-- dolphinscheduler-api/src/main/bin/jvm_args_env.sh | 1 + .../dolphinscheduler/api/ApiApplicationServer.java | 4 + .../api/controller/AlertGroupController.java | 12 +- .../api/controller/BaseController.java | 2 +- .../api/controller/CloudController.java | 4 +- .../api/controller/ClusterController.java | 2 +- .../api/controller/DataAnalysisController.java | 12 +- .../api/controller/DataSourceController.java | 6 +- .../api/controller/DynamicTaskTypeController.java | 2 +- .../api/controller/K8sNamespaceController.java | 6 +- .../api/controller/LoginController.java | 2 +- .../api/controller/MonitorController.java | 2 +- .../api/controller/ProjectController.java | 2 +- .../api/controller/ResourcesController.java | 2 +- .../api/controller/SchedulerController.java | 2 +- .../api/controller/TaskGroupController.java | 4 +- .../api/controller/TenantController.java | 8 +- .../api/controller/WorkFlowLineageController.java | 2 +- .../api/controller/WorkerGroupController.java | 2 +- .../v2/ProcessTaskRelationV2Controller.java | 2 +- .../api/controller/v2/ProjectV2Controller.java | 2 +- .../apache/dolphinscheduler/api/enums/Status.java | 2 +- .../api/metrics/ApiServerMetrics.java | 8 + .../api/service/DataAnalysisService.java | 18 +- .../api/service/K8sNamespaceService.java | 4 +- .../api/service/impl/DataAnalysisServiceImpl.java | 36 +-- .../api/service/impl/DataSourceServiceImpl.java | 1 + .../api/service/impl/ExecutorServiceImpl.java | 2 + .../api/service/impl/K8SNamespaceServiceImpl.java | 4 +- .../api/service/impl/LoggerServiceImpl.java | 7 +- .../service/impl/ProcessDefinitionServiceImpl.java | 1 + .../api/service/impl/SchedulerServiceImpl.java | 12 +- .../service/impl/TaskDefinitionServiceImpl.java | 4 +- .../api/service/impl/TaskInstanceServiceImpl.java | 9 +- .../api/vo/{ScheduleVo.java => ScheduleVO.java} | 4 +- ...TaskDefinitionVo.java => TaskDefinitionVO.java} | 10 +- ...stanceCountVo.java => TaskInstanceCountVO.java} | 8 +- ...CountVo.java => WorkflowDefinitionCountVO.java} | 10 +- ...ceCountVo.java => WorkflowInstanceCountVO.java} | 8 +- .../src/main/resources/i18n/messages.properties | 2 +- .../main/resources/i18n/messages_en_US.properties | 2 +- .../main/resources/i18n/messages_zh_CN.properties | 2 +- .../api/controller/DataAnalysisControllerTest.java | 12 +- .../api/controller/TenantControllerTest.java | 4 +- .../api/service/DataAnalysisServiceTest.java | 4 +- .../api/service/K8SNamespaceServiceTest.java | 6 +- .../common/enums/ServerStatus.java | 3 +- .../common/model/AlertServerHeartBeat.java | 11 +- .../common/model/BaseHeartBeatTask.java | 18 +- .../dolphinscheduler/common/model/HeartBeat.java | 4 + .../common/model/MasterHeartBeat.java | 12 +- .../common/model/WorkerHeartBeat.java | 14 +- .../common/thread/BaseDaemonThread.java | 2 + ...d.java => DefaultUncaughtExceptionHandler.java} | 33 ++- .../common/thread/ThreadUtils.java | 20 +- .../dolphinscheduler/common/utils/FileUtils.java | 12 +- .../dolphinscheduler/common/utils/OSUtils.java | 137 +--------- .../common/thread/ThreadUtilsTest.java | 23 +- .../common/utils/FileUtilsTest.java | 2 +- .../common/{os => utils}/OSUtilsTest.java | 59 ++--- .../dao/entity/ProcessDefinition.java | 3 + .../dao/repository/ProcessInstanceDao.java | 7 + .../repository/impl/ProcessInstanceDaoImpl.java | 9 + .../dao/mapper/ProcessDefinitionMapper.xml | 2 +- .../src/main/resources/sql/dolphinscheduler_h2.sql | 12 +- .../main/resources/sql/dolphinscheduler_mysql.sql | 12 +- .../resources/sql/dolphinscheduler_postgresql.sql | 12 +- .../2.0.0_schema/mysql/dolphinscheduler_ddl.sql | 2 +- .../postgresql/dolphinscheduler_ddl.sql | 2 +- .../3.2.1_schema/mysql/dolphinscheduler_ddl.sql | 9 +- .../postgresql/dolphinscheduler_ddl.sql | 9 +- .../3.3.0_schema/mysql/dolphinscheduler_ddl.sql | 9 +- .../postgresql/dolphinscheduler_ddl.sql | 9 +- .../dao/mapper/AuditLogMapperTest.java | 6 +- .../datasource/AbstractDataSourceProcessor.java | 3 +- .../mysql/param/MySQLDataSourceProcessor.java | 58 ++--- .../mysql/param/MySQLDataSourceProcessorTest.java | 2 +- .../mysql/utils/DataSourceUtilsTest.java | 18 +- .../e2e/cases/WorkflowJavaTaskE2ETest.java | 186 ++++++++++++++ .../e2e/pages/project/workflow/WorkflowForm.java | 6 +- .../pages/project/workflow/task/JavaTaskForm.java | 44 ++++ .../pages/project/workflow/task/TaskNodeForm.java | 25 ++ .../extract/base/NettyClientHandler.java | 2 +- .../extract/base/NettyRemotingClient.java | 16 +- .../extract/base/NettyRemotingServer.java | 17 +- .../extract/base/StandardRpcRequest.java | 2 +- .../extract/base/config/NettyServerConfig.java | 6 + .../base/server/JdkDynamicServerHandler.java | 2 +- .../base/server/ServerMethodInvokerImpl.java | 7 +- .../extract/base/utils/NamedThreadFactory.java | 61 ----- ...ngletonJdkDynamicRpcClientProxyFactoryTest.java | 37 ++- .../src/main/bin/jvm_args_env.sh | 1 + .../server/master/MasterServer.java | 29 +++ .../server/master/config/MasterConfig.java | 20 +- .../master/config/MasterServerLoadProtection.java | 73 ++++++ .../dispatch/host/LowerWeightHostManager.java | 18 +- .../master/dispatch/host/assign/HostWeight.java | 73 ++---- .../host/assign/LowerWeightRoundRobin.java | 31 +-- .../server/master/metrics/MasterServerMetrics.java | 27 ++ .../registry/MasterConnectionStateListener.java | 10 +- .../master/registry/MasterRegistryClient.java | 18 +- .../server/master/registry/MasterSlotManager.java | 7 +- .../server/master/registry/ServerNodeManager.java | 17 +- .../master/runner/MasterSchedulerBootstrap.java | 16 +- .../master/runner/WorkflowExecuteRunnable.java | 45 ++-- .../execute/AsyncMasterTaskDelayQueueLooper.java | 2 +- .../execute/MasterAsyncTaskExecutorThreadPool.java | 2 +- .../execute/MasterSyncTaskExecutorThreadPool.java | 2 +- .../server/master/task/MasterHeartBeatTask.java | 29 ++- .../src/main/resources/application.yaml | 17 +- .../config/MasterServerLoadProtectionTest.java | 32 +-- .../host/assign/LowerWeightRoundRobinTest.java | 29 +-- .../master/registry/MasterRegistryClientTest.java | 6 +- .../master/registry/MasterSlotManagerTest.java | 4 +- .../master/registry/ServerNodeManagerTest.java | 93 +++++++ dolphinscheduler-meter/pom.xml | 6 + .../meter/metrics/DefaultMetricsProvider.java | 69 +++++ .../meter/metrics/MetricsProvider.java | 8 +- .../meter/metrics/SystemMetrics.java | 43 ++-- .../resources/grafana-demo/docker-compose.yaml | 2 +- .../service/process/ProcessServiceImpl.java | 10 +- ....java => StandByTaskInstancePriorityQueue.java} | 35 +-- .../service/utils/ProcessUtils.java | 2 +- ...a => StandByTaskInstancePriorityQueueTest.java} | 29 ++- .../src/main/bin/jvm_args_env.sh | 1 + .../src/main/docker/Dockerfile | 2 +- .../src/main/resources/application.yaml | 45 ++-- .../plugin/task/api/AbstractCommandExecutor.java | 2 +- .../plugin/task/api/k8s/impl/K8sTaskExecutor.java | 10 +- .../task/api/parser/TimePlaceholderUtils.java | 26 +- .../plugin/task/api/utils/ParameterUtils.java | 1 - .../plugin/task/api/utils/RetryUtils.java | 2 +- .../task/api/parser/TimePlaceholderUtilsTest.java | 46 ++-- .../plugin/task/api/utils/RetryUtilsTest.java | 7 + .../plugin/task/dinky/DinkyTask.java | 282 +++++++++++++++++---- .../plugin/task/dinky/DinkyTaskConstants.java | 13 + .../plugin/task/http/HttpParameters.java | 13 + .../plugin/task/http/HttpTask.java | 27 +- .../plugin/task/http/HttpTaskTest.java | 33 ++- .../plugin/task/java/JavaTask.java | 2 +- .../plugin/task/java/JavaTaskTest.java | 6 +- .../PostgresqlDatabaseContainerProvider.java | 13 +- .../public/images/task-icons/dinky.png | Bin 6447 -> 43671 bytes .../public/images/task-icons/dinky_hover.png | Bin 6330 -> 53193 bytes dolphinscheduler-ui/src/locales/en_US/project.ts | 7 + dolphinscheduler-ui/src/locales/zh_CN/project.ts | 6 + .../components/node/fields/use-environment-name.ts | 1 + .../task/components/node/fields/use-http.ts | 9 + .../projects/task/components/node/format-data.ts | 1 + .../task/components/node/tasks/use-http.ts | 1 + .../views/projects/task/components/node/types.ts | 1 + .../src/views/projects/task/definition/use-task.ts | 10 +- .../definition/components/table-action.tsx | 89 ++++--- .../definition/components/timing-modal.tsx | 11 +- .../views/projects/workflow/definition/index.tsx | 7 +- .../views/projects/workflow/definition/types.ts | 1 + .../projects/workflow/definition/use-table.ts | 40 ++- .../src/main/bin/jvm_args_env.sh | 1 + .../server/worker/WorkerServer.java | 22 ++ .../server/worker/config/TenantConfig.java | 10 +- .../server/worker/config/WorkerConfig.java | 24 +- .../worker/config/WorkerServerLoadProtection.java | 73 ++++++ .../server/worker/metrics/WorkerServerMetrics.java | 6 + .../worker/registry/WorkerRegistryClient.java | 20 +- .../runner/WorkerTaskExecutorThreadPool.java | 13 +- .../server/worker/task/WorkerHeartBeatTask.java | 61 ++--- .../worker/utils/TaskExecutionContextUtils.java | 21 +- .../src/main/resources/application.yaml | 28 +- .../config/WorkerServerLoadProtectionTest.java | 32 +-- .../worker/registry/WorkerRegistryClientTest.java | 28 +- .../utils/TaskExecutionContextUtilsTest.java | 64 +++++ 200 files changed, 2360 insertions(+), 1286 deletions(-) diff --cc dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ClusterController.java index 27c22d3a6f,b29ed9b7a3..d4e5b6cf89 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ClusterController.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ClusterController.java @@@ -84,8 -81,7 +84,8 @@@ public class ClusterController extends @PostMapping(value = "/create") @ResponseStatus(HttpStatus.CREATED) @ApiException(CREATE_CLUSTER_ERROR) + @OperatorLog(objectType = AuditObjectType.CLUSTER, operationType = AuditOperationType.CREATE, returnObjectFieldName = {"code"}) - public Result<Long> createProject(@Parameter(hidden = true) @RequestAttribute(value = Constants.SESSION_USER) User loginUser, + public Result<Long> createCluster(@Parameter(hidden = true) @RequestAttribute(value = Constants.SESSION_USER) User loginUser, @RequestParam("name") String name, @RequestParam("config") String config, @RequestParam(value = "description", required = false) String description) { diff --cc dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskGroupController.java index 9461a4791e,cb0d15909e..aa2870c691 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskGroupController.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskGroupController.java @@@ -84,10 -81,9 +84,10 @@@ public class TaskGroupController extend @PostMapping(value = "/create") @ResponseStatus(HttpStatus.CREATED) @ApiException(CREATE_TASK_GROUP_ERROR) + @OperatorLog(objectType = AuditObjectType.TASK_GROUP, operationType = AuditOperationType.CREATE, requestParamName = {"name"}) public Result createTaskGroup(@Parameter(hidden = true) @RequestAttribute(value = Constants.SESSION_USER) User loginUser, @RequestParam("name") String name, - @RequestParam(value = "projectCode", required = false, defaultValue = "0") Long projectcode, + @RequestParam(value = "projectCode", required = false, defaultValue = "0") Long projectCode, @RequestParam("description") String description, @RequestParam("groupSize") Integer groupSize) { Map<String, Object> result = diff --cc dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/AuditLogMapperTest.java index ba2139f5c6,cc0532032d..03bbbc1d3a --- a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/AuditLogMapperTest.java +++ b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/AuditLogMapperTest.java @@@ -39,11 -39,7 +39,7 @@@ public class AuditLogMapperTest extend @Autowired private ProjectMapper projectMapper; - /** - * insert - * @return - */ - private void insertOne(AuditResourceType resourceType) { + private void insertOne(AuditObjectType objectType) { AuditLog auditLog = new AuditLog(); auditLog.setUserId(1); auditLog.setTime(new Date());