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

fanjia pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/seatunnel-web.git


The following commit(s) were added to refs/heads/main by this push:
     new 36c85cc4 [Bug][Seatunnel-web] Task instance filter is not working as 
expected (#204)
36c85cc4 is described below

commit 36c85cc4884cb6015eaaeb4f4e88d26f1e3d2080
Author: Mohammad Arshad <[email protected]>
AuthorDate: Thu Sep 5 11:49:59 2024 +0530

    [Bug][Seatunnel-web] Task instance filter is not working as expected (#204)
---
 pom.xml                                            |  2 +-
 .../app/controller/TaskInstanceController.java     |  2 +-
 .../seatunnel/app/dal/dao/IJobInstanceDao.java     |  2 +-
 .../app/dal/dao/impl/JobInstanceDaoImpl.java       |  4 ++--
 .../app/dal/mapper/JobInstanceMapper.java          |  2 +-
 .../app/service/impl/TaskInstanceServiceImpl.java  | 26 ++++++----------------
 .../seatunnel/app/dal/mapper/JobInstanceMapper.xml |  4 ++--
 .../controller/TaskInstanceControllerWrapper.java  | 13 +++++------
 .../app/test/TaskInstanceControllerTest.java       | 20 +++++++++++++----
 tools/dependencies/known-dependencies.txt          |  4 ++--
 10 files changed, 39 insertions(+), 40 deletions(-)

diff --git a/pom.xml b/pom.xml
index e0df3bf2..e784d668 100644
--- a/pom.xml
+++ b/pom.xml
@@ -105,7 +105,7 @@
         <hadoop-aws.version>3.1.4</hadoop-aws.version>
         <aws-java-sdk-bundle.version>1.11.271</aws-java-sdk-bundle.version>
         <spotless.version>2.29.0</spotless.version>
-        <logback.version>1.5.7</logback.version>
+        <logback.version>1.2.3</logback.version>
         <log4j2.version>2.17.1</log4j2.version>
         <commons-logging.version>1.2</commons-logging.version>
         <log4j.version>1.2.17</log4j.version>
diff --git 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/controller/TaskInstanceController.java
 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/controller/TaskInstanceController.java
index cdcd35a2..f459c2d4 100644
--- 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/controller/TaskInstanceController.java
+++ 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/controller/TaskInstanceController.java
@@ -41,7 +41,7 @@ public class TaskInstanceController {
     @ApiOperation(value = "get the jobMetrics list ", httpMethod = "GET")
     public Result<PageInfo<SeaTunnelJobInstanceDto>> getTaskInstanceList(
             @RequestAttribute(name = "userId") Integer userId,
-            @RequestParam(name = "jobDefineName", required = false) String 
jobDefineName,
+            @RequestParam(name = "taskName", required = false) String 
jobDefineName,
             @RequestParam(name = "executorName", required = false) String 
executorName,
             @RequestParam(name = "stateType", required = false) String 
stateType,
             @RequestParam(name = "startDate", required = false) String 
startTime,
diff --git 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/IJobInstanceDao.java
 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/IJobInstanceDao.java
index ad0db611..d52951cf 100644
--- 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/IJobInstanceDao.java
+++ 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/IJobInstanceDao.java
@@ -43,7 +43,7 @@ public interface IJobInstanceDao {
             IPage<JobInstance> page,
             Date startTime,
             Date endTime,
-            Long jobDefineId,
+            String jobDefineId,
             String jobMode);
 
     List<JobInstance> getAllJobInstance(@NonNull List<Long> jobInstanceIdList);
diff --git 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/impl/JobInstanceDaoImpl.java
 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/impl/JobInstanceDaoImpl.java
index c296a635..5600dd4d 100644
--- 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/impl/JobInstanceDaoImpl.java
+++ 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/dao/impl/JobInstanceDaoImpl.java
@@ -70,11 +70,11 @@ public class JobInstanceDaoImpl implements IJobInstanceDao {
             IPage<JobInstance> page,
             Date startTime,
             Date endTime,
-            Long jobDefineId,
+            String jobDefineName,
             String jobMode) {
         IPage<SeaTunnelJobInstanceDto> jobInstanceIPage =
                 jobInstanceMapper.queryJobInstanceListPaging(
-                        page, startTime, endTime, jobDefineId, jobMode);
+                        page, startTime, endTime, jobDefineName, jobMode);
         return jobInstanceIPage;
     }
 
diff --git 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/mapper/JobInstanceMapper.java
 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/mapper/JobInstanceMapper.java
index 53b60a40..b168995c 100644
--- 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/mapper/JobInstanceMapper.java
+++ 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/dal/mapper/JobInstanceMapper.java
@@ -35,7 +35,7 @@ public interface JobInstanceMapper extends 
BaseMapper<JobInstance> {
             IPage<JobInstance> page,
             @Param("startTime") Date startTime,
             @Param("endTime") Date endTime,
-            @Param("jobDefineId") Long jobDefineId,
+            @Param("jobDefineName") String jobDefineName,
             @Param("jobMode") String jobMode);
 
     JobInstance getJobExecutionStatus(@Param("jobInstanceId") Long 
jobInstanceId);
diff --git 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/TaskInstanceServiceImpl.java
 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/TaskInstanceServiceImpl.java
index 1e17ebaa..05bc071c 100644
--- 
a/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/TaskInstanceServiceImpl.java
+++ 
b/seatunnel-server/seatunnel-app/src/main/java/org/apache/seatunnel/app/service/impl/TaskInstanceServiceImpl.java
@@ -76,12 +76,6 @@ public class TaskInstanceServiceImpl implements 
ITaskInstanceService<SeaTunnelJo
             String syncTaskType,
             Integer pageNo,
             Integer pageSize) {
-        JobDefinition jobDefinition = null;
-        IPage<SeaTunnelJobInstanceDto> jobInstanceIPage;
-        if (jobDefineName != null) {
-            jobDefinition = jobDefinitionDao.getJobByName(jobDefineName);
-        }
-
         Result<PageInfo<SeaTunnelJobInstanceDto>> result = new Result<>();
         PageInfo<SeaTunnelJobInstanceDto> pageInfo = new PageInfo<>(pageNo, 
pageSize);
         result.setData(pageInfo);
@@ -90,19 +84,13 @@ public class TaskInstanceServiceImpl implements 
ITaskInstanceService<SeaTunnelJo
         Date startDate = dateConverter(startTime);
         Date endDate = dateConverter(endTime);
 
-        if (jobDefinition != null) {
-            jobInstanceIPage =
-                    jobInstanceDao.queryJobInstanceListPaging(
-                            new Page<>(pageNo, pageSize),
-                            startDate,
-                            endDate,
-                            jobDefinition.getId(),
-                            syncTaskType);
-        } else {
-            jobInstanceIPage =
-                    jobInstanceDao.queryJobInstanceListPaging(
-                            new Page<>(pageNo, pageSize), startDate, endDate, 
null, syncTaskType);
-        }
+        IPage<SeaTunnelJobInstanceDto> jobInstanceIPage =
+                jobInstanceDao.queryJobInstanceListPaging(
+                        new Page<>(pageNo, pageSize),
+                        startDate,
+                        endDate,
+                        jobDefineName,
+                        syncTaskType);
 
         List<SeaTunnelJobInstanceDto> records = jobInstanceIPage.getRecords();
         if (CollectionUtils.isEmpty(records)) {
diff --git 
a/seatunnel-server/seatunnel-app/src/main/resources/org/apache/seatunnel/app/dal/mapper/JobInstanceMapper.xml
 
b/seatunnel-server/seatunnel-app/src/main/resources/org/apache/seatunnel/app/dal/mapper/JobInstanceMapper.xml
index 55c44037..3862c798 100644
--- 
a/seatunnel-server/seatunnel-app/src/main/resources/org/apache/seatunnel/app/dal/mapper/JobInstanceMapper.xml
+++ 
b/seatunnel-server/seatunnel-app/src/main/resources/org/apache/seatunnel/app/dal/mapper/JobInstanceMapper.xml
@@ -44,8 +44,8 @@
             <if test="endTime != null">
                 AND (end_time <![CDATA[ <=]]> #{endTime} or end_time is null)
             </if>
-            <if test="jobDefineId != null">
-                AND job_define_id = #{jobDefineId}
+            <if test="jobDefineName != null">
+                AND job_define_id in (select x.id from t_st_job_definition x 
where x.name LIKE concat('%', #{jobDefineName}, '%'))
             </if>
             <if test="jobMode != null">
                 AND job_type = #{jobMode}
diff --git 
a/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/controller/TaskInstanceControllerWrapper.java
 
b/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/controller/TaskInstanceControllerWrapper.java
index 41cece13..d07a06a5 100644
--- 
a/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/controller/TaskInstanceControllerWrapper.java
+++ 
b/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/controller/TaskInstanceControllerWrapper.java
@@ -28,8 +28,8 @@ import com.fasterxml.jackson.core.type.TypeReference;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class TaskInstanceControllerWrapper extends SeatunnelWebTestingBase {
@@ -37,7 +37,7 @@ public class TaskInstanceControllerWrapper extends 
SeatunnelWebTestingBase {
     private static SimpleDateFormat dateFormat = new 
SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
     public Result<PageInfo<SeaTunnelJobInstanceDto>> getTaskInstanceList(
-            String jobDefineName,
+            String taskName,
             String executorName,
             String stateType,
             String startTime,
@@ -48,8 +48,8 @@ public class TaskInstanceControllerWrapper extends 
SeatunnelWebTestingBase {
         String response =
                 sendRequest(
                         urlWithParam(
-                                "task/jobMetrics?jobDefineName="
-                                        + jobDefineName
+                                "task/jobMetrics?taskName="
+                                        + taskName
                                         + "&executorName="
                                         + executorName
                                         + "&stateType="
@@ -68,7 +68,7 @@ public class TaskInstanceControllerWrapper extends 
SeatunnelWebTestingBase {
                 response, new 
TypeReference<Result<PageInfo<SeaTunnelJobInstanceDto>>>() {});
     }
 
-    public SeaTunnelJobInstanceDto getTaskInstanceList(String jobDefineName) {
+    public List<SeaTunnelJobInstanceDto> getTaskInstanceList(String 
jobDefineName) {
         String startTime =
                 URLEncoder.encode(
                         dateFormat.format(
@@ -94,7 +94,6 @@ public class TaskInstanceControllerWrapper extends 
SeatunnelWebTestingBase {
         if (result.getData().getTotalList().isEmpty()) {
             return null;
         }
-        assertEquals(1, result.getData().getTotalList().size());
-        return result.getData().getTotalList().get(0);
+        return result.getData().getTotalList();
     }
 }
diff --git 
a/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/test/TaskInstanceControllerTest.java
 
b/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/test/TaskInstanceControllerTest.java
index c227fc7d..485e07cc 100644
--- 
a/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/test/TaskInstanceControllerTest.java
+++ 
b/seatunnel-web-it/src/test/java/org/apache/seatunnel/app/test/TaskInstanceControllerTest.java
@@ -34,6 +34,7 @@ import java.util.List;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class TaskInstanceControllerTest extends SeatunnelWebTestingBase {
@@ -53,6 +54,21 @@ public class TaskInstanceControllerTest extends 
SeatunnelWebTestingBase {
     @Test
     public void getTaskInstanceList_shouldReturnData_whenValidRequest() {
         String jobName = "getTaskInstance" + uniqueId;
+        extractedJob1(jobName);
+        String jobName2 = "getTaskInstance" + uniqueId + "_2";
+        extractedJob1(jobName2);
+
+        List<SeaTunnelJobInstanceDto> taskInstanceList =
+                taskInstanceControllerWrapper.getTaskInstanceList(jobName);
+        assertNotNull(taskInstanceList);
+        assertEquals(2, taskInstanceList.size());
+
+        taskInstanceList =
+                
taskInstanceControllerWrapper.getTaskInstanceList("name_which_matches_no_job");
+        assertNull(taskInstanceList);
+    }
+
+    private static void extractedJob1(String jobName) {
         long jobVersionId = JobTestingUtils.createJob(jobName);
         Result<Long> execuitonResult = 
jobExecutorControllerWrapper.jobExecutor(jobVersionId);
         assertTrue(execuitonResult.isSuccess());
@@ -60,10 +76,6 @@ public class TaskInstanceControllerTest extends 
SeatunnelWebTestingBase {
                 
JobTestingUtils.waitForJobCompletion(execuitonResult.getData());
         assertEquals(1, listResult.getData().size());
         assertEquals("FINISHED", listResult.getData().get(0).getStatus());
-
-        SeaTunnelJobInstanceDto taskInstanceList =
-                taskInstanceControllerWrapper.getTaskInstanceList(jobName);
-        assertNotNull(taskInstanceList);
     }
 
     @AfterAll
diff --git a/tools/dependencies/known-dependencies.txt 
b/tools/dependencies/known-dependencies.txt
index 28e6b0b2..c6a0d02f 100644
--- a/tools/dependencies/known-dependencies.txt
+++ b/tools/dependencies/known-dependencies.txt
@@ -106,8 +106,8 @@ jcommander-1.81.jar
 log4j-api-2.17.1.jar
 log4j-over-slf4j-1.7.36.jar
 log4j-to-slf4j-2.17.1.jar
-logback-classic-1.5.7.jar
-logback-core-1.5.7.jar
+logback-classic-1.2.3.jar
+logback-core-1.2.3.jar
 protostuff-api-1.8.0.jar
 protostuff-collectionschema-1.8.0.jar
 protostuff-core-1.8.0.jar

Reply via email to