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