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>