You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by zh...@apache.org on 2022/05/25 08:33:29 UTC
[dolphinscheduler] branch dev updated: [fix] Task group queue query all list error (#10237)
This is an automated email from the ASF dual-hosted git repository.
zhongjiajie pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new d8db2b57d2 [fix] Task group queue query all list error (#10237)
d8db2b57d2 is described below
commit d8db2b57d22ed853232d60a6b33462fa442b838b
Author: Jiajie Zhong <zh...@hotmail.com>
AuthorDate: Wed May 25 16:33:23 2022 +0800
[fix] Task group queue query all list error (#10237)
Add support query all task queue by not given specific groupId
close: #10102
---
.../api/controller/TaskGroupController.java | 17 +++++++---
.../api/service/TaskGroupQueueService.java | 11 ++++---
.../dao/mapper/TaskGroupQueueMapper.xml | 36 ++++++++++++----------
3 files changed, 39 insertions(+), 25 deletions(-)
diff --git 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
index 87977b3638..ca65ac78fe 100644
--- 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
@@ -297,14 +297,21 @@ public class TaskGroupController extends BaseController {
/**
* query task group queue list paging
*
- * @param loginUser login user
- * @param pageNo page number
- * @param pageSize page size
+ * @param groupId ID for task group
+ * @param taskName Task Name
+ * @param processName Process instance name
+ * @param status Task queue status
+ * @param loginUser login user
+ * @param pageNo page number
+ * @param pageSize page size
* @return queue list
*/
@ApiOperation(value = "queryTasksByGroupId", notes = "QUERY_ALL_TASKS_NOTES")
@ApiImplicitParams({
- @ApiImplicitParam(name = "groupId", value = "GROUP_ID", required = true, dataType = "Int", example = "1"),
+ @ApiImplicitParam(name = "groupId", value = "GROUP_ID", required = false, dataType = "Int", example = "1", defaultValue = "-1"),
+ @ApiImplicitParam(name = "taskInstanceName", value = "TASK_INSTANCE_NAME", required = false, dataType = "String", example = "taskName"),
+ @ApiImplicitParam(name = "processInstanceName", value = "PROCESS_INSTANCE_NAME", required = false, dataType = "String", example = "processName"),
+ @ApiImplicitParam(name = "status", value = "STATUS", required = false, dataType = "Int", example = "1"),
@ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"),
@ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20")
})
@@ -313,7 +320,7 @@ public class TaskGroupController extends BaseController {
@ApiException(QUERY_TASK_GROUP_QUEUE_LIST_ERROR)
@AccessLogAnnotation(ignoreRequestArgs = "loginUser")
public Result queryTasksByGroupId(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser,
- @RequestParam("groupId") Integer groupId,
+ @RequestParam(value = "groupId", required = false, defaultValue = "-1") Integer groupId,
@RequestParam(value = "taskInstanceName",required = false) String taskName,
@RequestParam(value = "processInstanceName",required = false) String processName,
@RequestParam(value = "status",required = false) Integer status,
diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskGroupQueueService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskGroupQueueService.java
index 651267ebb2..e6e81d950b 100644
--- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskGroupQueueService.java
+++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskGroupQueueService.java
@@ -28,10 +28,13 @@ public interface TaskGroupQueueService {
/**
* query tasks in task group queue by group id
- * @param loginUser login user
- * @param groupId group id
- * @param pageNo page no
- * @param pageSize page size
+ * @param loginUser login user
+ * @param groupId group id
+ * @param taskName Task Name
+ * @param processName Process instance name
+ * @param status Task queue status
+ * @param pageNo page no
+ * @param pageSize page size
* @return tasks list
*/
diff --git a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupQueueMapper.xml b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupQueueMapper.xml
index a780270bfd..5eacbea9b8 100644
--- a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupQueueMapper.xml
+++ b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupQueueMapper.xml
@@ -134,22 +134,26 @@
left join t_ds_process_definition p_f on process.process_definition_code = p_f.code
and process.process_definition_version = p_f.version
join t_ds_project as p on p_f.project_code = p.code
- where queue.group_id = #{groupId}
- <if test="taskName != null and taskName != ''">
- and task_name like concat('%', #{taskName}, '%')
- </if>
- <if test="processName != null and processName != ''">
- and process.name like concat('%', #{processName}, '%')
- </if>
- <if test="status != null">
- and queue.status =#{status}
- </if>
- <if test="projects != null and projects.size() > 0">
- and p.code in
- <foreach collection="projects" index="index" item="i" open="(" separator="," close=")">
- #{i.code}
- </foreach>
- </if>
+ <where>
+ <if test="groupId != null and groupId != -1">
+ queue.group_id = #{groupId}
+ </if>
+ <if test="taskName != null and taskName != ''">
+ and task_name like concat('%', #{taskName}, '%')
+ </if>
+ <if test="processName != null and processName != ''">
+ and process.name like concat('%', #{processName}, '%')
+ </if>
+ <if test="status != null">
+ and queue.status =#{status}
+ </if>
+ <if test="projects != null and projects.size() > 0">
+ and p.code in
+ <foreach collection="projects" index="index" item="i" open="(" separator="," close=")">
+ #{i.code}
+ </foreach>
+ </if>
+ </where>
order by queue.update_time desc
</select>