From bcbfa98e518fc9c3935bf94241c32c702d1b9ac7 Mon Sep 17 00:00:00 2001 From: Marc Fraile Date: Tue, 7 Oct 2025 16:17:36 -0400 Subject: [PATCH] Mitigate tmp/ disk leakage caused when the Cloudgene process fails to delete temporary input files. --- src/main/java/cloudgene/mapred/jobs/JobParameterParser.java | 2 ++ .../java/cloudgene/mapred/server/controller/JobController.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/main/java/cloudgene/mapred/jobs/JobParameterParser.java b/src/main/java/cloudgene/mapred/jobs/JobParameterParser.java index 59341dab..1097d779 100644 --- a/src/main/java/cloudgene/mapred/jobs/JobParameterParser.java +++ b/src/main/java/cloudgene/mapred/jobs/JobParameterParser.java @@ -96,6 +96,8 @@ public static Map parse(List form, WdlApp ap if (input.getWriteFile() != null && !input.getWriteFile().trim().isEmpty()) { File file = Files.createTempFile("upload_", input.getWriteFile()).toFile(); + file.deleteOnExit(); + try { FileUtil.writeStringBufferToFile(file.getAbsolutePath(), new StringBuffer(cleanedValue)); String target = workspace.uploadInput(key, file); diff --git a/src/main/java/cloudgene/mapred/server/controller/JobController.java b/src/main/java/cloudgene/mapred/server/controller/JobController.java index 45f3eca3..42e12292 100644 --- a/src/main/java/cloudgene/mapred/server/controller/JobController.java +++ b/src/main/java/cloudgene/mapred/server/controller/JobController.java @@ -90,7 +90,9 @@ public Publisher> submit(Authentication authentication, Htt String userAgent = request.getHeaders().get(HttpHeaders.USER_AGENT); long start = System.currentTimeMillis(); + File folder = application.getSettings().getTempFolder("upload_"); + folder.deleteOnExit(); log.debug("Start submit process and parse multipart body. Folder for request: " + folder.getAbsolutePath());