瀏覽代碼

Merge pull request #10620 from jakesmith/hpcc-18692

HPCC-18692 Ensure per job temp workunit directory removed

Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 7 年之前
父節點
當前提交
a3bf5aa946
共有 1 個文件被更改,包括 19 次插入0 次删除
  1. 19 0
      ecl/eclagent/eclagent.cpp

+ 19 - 0
ecl/eclagent/eclagent.cpp

@@ -1980,6 +1980,25 @@ void EclAgent::doProcess()
             w->deleteTempFiles(NULL, false, deleteJobTemps);
             if (deleteJobTemps)
                 w->deleteTemporaries();
+            deleteTempFiles();
+            StringBuffer jobTempDir;
+            getTempfileBase(jobTempDir);
+            OwnedIFile dir = createIFile(jobTempDir);
+            StringBuffer rmMsg;
+            unsigned errCode = 0;
+            try
+            {
+               if (!dir->remove())
+                    rmMsg.append("Failed to remove temporary directory: ").append(jobTempDir.str());
+            }
+            catch (IException *e)
+            {
+                errCode = e->errorCode();
+                e->errorMessage(rmMsg);
+                e->Release();
+            }
+            if (rmMsg.length())
+                WARNLOG(errCode, "%s", rmMsg.str());
         }
 
         if (globals->getPropBool("DUMPFINALWU", false))