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

zihaoxiang 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 20e9ffac66 [Improvement-16835][Worker] Clear empty directory under 
task working path after task instance finish (#16836)
20e9ffac66 is described below

commit 20e9ffac66fffafbcb525aab2e7562bcec49f5a8
Author: Wenjun Ruan <[email protected]>
AuthorDate: Tue Nov 26 10:19:21 2024 +0800

    [Improvement-16835][Worker] Clear empty directory under task working path 
after task instance finish (#16836)
---
 .../dolphinscheduler/common/utils/FileUtils.java   | 22 ++--------------------
 .../common/utils/FileUtilsTest.java                |  4 ++--
 .../service/utils/ProcessUtils.java                |  9 ++-------
 .../worker/utils/TaskExecutionContextUtils.java    |  9 ++-------
 .../utils/TaskExecutionContextUtilsTest.java       |  9 ++-------
 5 files changed, 10 insertions(+), 43 deletions(-)

diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/FileUtils.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/FileUtils.java
index 31765b19bd..0d092e0114 100644
--- 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/FileUtils.java
+++ 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/utils/FileUtils.java
@@ -84,29 +84,11 @@ public class FileUtils {
     /**
      * directory of process execution
      *
-     * @param tenant               tenant
-     * @param projectCode          project code
-     * @param processDefineCode    process definition Code
-     * @param processDefineVersion process definition version
-     * @param processInstanceId    process instance id
      * @param taskInstanceId       task instance id
      * @return directory of process execution
      */
-    public static String getTaskInstanceWorkingDirectory(String tenant,
-                                                         long projectCode,
-                                                         long 
processDefineCode,
-                                                         int 
processDefineVersion,
-                                                         int processInstanceId,
-                                                         int taskInstanceId) {
-        return String.format(
-                "%s/exec/process/%s/%d/%d_%d/%d/%d",
-                DATA_BASEDIR,
-                tenant,
-                projectCode,
-                processDefineCode,
-                processDefineVersion,
-                processInstanceId,
-                taskInstanceId);
+    public static String getTaskInstanceWorkingDirectory(int taskInstanceId) {
+        return String.format("%s/exec/process/%d", DATA_BASEDIR, 
taskInstanceId);
     }
 
     /**
diff --git 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/FileUtilsTest.java
 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/FileUtilsTest.java
index 72ceed630f..0deb861086 100644
--- 
a/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/FileUtilsTest.java
+++ 
b/dolphinscheduler-common/src/test/java/org/apache/dolphinscheduler/common/utils/FileUtilsTest.java
@@ -48,8 +48,8 @@ public class FileUtilsTest {
 
     @Test
     public void testGetProcessExecDir() {
-        String dir = FileUtils.getTaskInstanceWorkingDirectory("test", 1L, 2L, 
1, 3, 4);
-        
Assertions.assertEquals("/tmp/dolphinscheduler/exec/process/test/1/2_1/3/4", 
dir);
+        String dir = FileUtils.getTaskInstanceWorkingDirectory(4);
+        Assertions.assertEquals("/tmp/dolphinscheduler/exec/process/4", dir);
     }
 
     @Test
diff --git 
a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/utils/ProcessUtils.java
 
b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/utils/ProcessUtils.java
index 307907265b..f0c8c59ed3 100644
--- 
a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/utils/ProcessUtils.java
+++ 
b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/utils/ProcessUtils.java
@@ -54,13 +54,8 @@ public class ProcessUtils {
                 
taskExecutionContext.setAppIds(String.join(TaskConstants.COMMA, appIds));
                 if 
(StringUtils.isEmpty(taskExecutionContext.getExecutePath())) {
                     taskExecutionContext
-                            
.setExecutePath(FileUtils.getTaskInstanceWorkingDirectory(
-                                    taskExecutionContext.getTenantCode(),
-                                    taskExecutionContext.getProjectCode(),
-                                    
taskExecutionContext.getWorkflowDefinitionCode(),
-                                    
taskExecutionContext.getWorkflowDefinitionVersion(),
-                                    
taskExecutionContext.getWorkflowInstanceId(),
-                                    taskExecutionContext.getTaskInstanceId()));
+                            .setExecutePath(FileUtils
+                                    
.getTaskInstanceWorkingDirectory(taskExecutionContext.getTaskInstanceId()));
                 }
                 
FileUtils.createDirectoryWith755(Paths.get(taskExecutionContext.getExecutePath()));
                 
org.apache.dolphinscheduler.plugin.task.api.utils.ProcessUtils.cancelApplication(taskExecutionContext);
diff --git 
a/dolphinscheduler-worker/src/main/java/org/apache/dolphinscheduler/server/worker/utils/TaskExecutionContextUtils.java
 
b/dolphinscheduler-worker/src/main/java/org/apache/dolphinscheduler/server/worker/utils/TaskExecutionContextUtils.java
index 2e8dce1fd3..cbe2a6f8aa 100644
--- 
a/dolphinscheduler-worker/src/main/java/org/apache/dolphinscheduler/server/worker/utils/TaskExecutionContextUtils.java
+++ 
b/dolphinscheduler-worker/src/main/java/org/apache/dolphinscheduler/server/worker/utils/TaskExecutionContextUtils.java
@@ -42,13 +42,8 @@ public class TaskExecutionContextUtils {
 
     public static void createTaskInstanceWorkingDirectory(TaskExecutionContext 
taskExecutionContext) throws TaskException {
         // local execute path
-        String taskInstanceWorkingDirectory = 
FileUtils.getTaskInstanceWorkingDirectory(
-                taskExecutionContext.getTenantCode(),
-                taskExecutionContext.getProjectCode(),
-                taskExecutionContext.getWorkflowDefinitionCode(),
-                taskExecutionContext.getWorkflowDefinitionVersion(),
-                taskExecutionContext.getWorkflowInstanceId(),
-                taskExecutionContext.getTaskInstanceId());
+        String taskInstanceWorkingDirectory =
+                
FileUtils.getTaskInstanceWorkingDirectory(taskExecutionContext.getTaskInstanceId());
         try {
             if (new File(taskInstanceWorkingDirectory).exists()) {
                 FileUtils.deleteFile(taskInstanceWorkingDirectory);
diff --git 
a/dolphinscheduler-worker/src/test/java/org/apache/dolphinscheduler/server/worker/utils/TaskExecutionContextUtilsTest.java
 
b/dolphinscheduler-worker/src/test/java/org/apache/dolphinscheduler/server/worker/utils/TaskExecutionContextUtilsTest.java
index 257df814d5..328006f83b 100644
--- 
a/dolphinscheduler-worker/src/test/java/org/apache/dolphinscheduler/server/worker/utils/TaskExecutionContextUtilsTest.java
+++ 
b/dolphinscheduler-worker/src/test/java/org/apache/dolphinscheduler/server/worker/utils/TaskExecutionContextUtilsTest.java
@@ -39,13 +39,8 @@ class TaskExecutionContextUtilsTest {
         taskExecutionContext.setWorkflowInstanceId(1);
         taskExecutionContext.setTaskInstanceId(1);
 
-        String taskWorkingDirectory = 
FileUtils.getTaskInstanceWorkingDirectory(
-                taskExecutionContext.getTenantCode(),
-                taskExecutionContext.getProjectCode(),
-                taskExecutionContext.getWorkflowDefinitionCode(),
-                taskExecutionContext.getWorkflowDefinitionVersion(),
-                taskExecutionContext.getWorkflowInstanceId(),
-                taskExecutionContext.getTaskInstanceId());
+        String taskWorkingDirectory =
+                
FileUtils.getTaskInstanceWorkingDirectory(taskExecutionContext.getTaskInstanceId());
         try {
             // Test if the working directory is exist
             // will delete it and recreate

Reply via email to