You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by is...@apache.org on 2022/06/01 21:07:17 UTC
[airavata-data-lake] branch master updated: Implement recursive cleanup
This is an automated email from the ASF dual-hosted git repository.
isjarana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata-data-lake.git
The following commit(s) were added to refs/heads/master by this push:
new 7eb0122 Implement recursive cleanup
new ac7bfe0 Merge pull request #110 from isururanawaka/master
7eb0122 is described below
commit 7eb01222b6afe200b15ba9529cbb8c6764aa76c1
Author: Isuru Ranawaka <ir...@gmail.com>
AuthorDate: Wed Jun 1 17:06:03 2022 -0400
Implement recursive cleanup
---
.../impl/DataParsingWorkflowResourceCleanUpTask.java | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/data-orchestrator/workflow-engine/workflow-engine-core/src/main/java/org/apache/airavata/datalake/orchestrator/workflow/engine/task/impl/DataParsingWorkflowResourceCleanUpTask.java b/data-orchestrator/workflow-engine/workflow-engine-core/src/main/java/org/apache/airavata/datalake/orchestrator/workflow/engine/task/impl/DataParsingWorkflowResourceCleanUpTask.java
index 562ecee..4fffe5a 100644
--- a/data-orchestrator/workflow-engine/workflow-engine-core/src/main/java/org/apache/airavata/datalake/orchestrator/workflow/engine/task/impl/DataParsingWorkflowResourceCleanUpTask.java
+++ b/data-orchestrator/workflow-engine/workflow-engine-core/src/main/java/org/apache/airavata/datalake/orchestrator/workflow/engine/task/impl/DataParsingWorkflowResourceCleanUpTask.java
@@ -7,8 +7,11 @@ import org.apache.helix.task.TaskResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.IOException;
import java.nio.file.Files;
+import java.nio.file.Path;
import java.nio.file.Paths;
+import java.util.Comparator;
@BlockingTaskDef(name = "DataParsingWorkflowResourceCleanUpTask")
public class DataParsingWorkflowResourceCleanUpTask extends BlockingTask {
@@ -46,9 +49,20 @@ public class DataParsingWorkflowResourceCleanUpTask extends BlockingTask {
Files.deleteIfExists(Paths.get(downloadPath.get()));
- logger.info("Running parsing directory cleanup");
+ logger.info("Running parser directory cleanup");
if (!parsingDir.get().isEmpty()) {
- Files.deleteIfExists(Paths.get(parsingDir.get()));
+ Path dir = Paths.get(parsingDir.get());
+ Files
+ .walk(dir) // Traverse the file tree in depth-first order
+ .sorted(Comparator.reverseOrder())
+ .forEach(path -> {
+ try {
+ logger.info("Deleting: " + path);
+ Files.delete(path); //delete each file or directory
+ } catch (IOException e) {
+ logger.error("File deletion failed for path "+ dir, e);
+ }
+ });
}
return new TaskResult(TaskResult.Status.COMPLETED, "Completed");