diff --git a/azkaban-exec-server/src/main/java/azkaban/execapp/AzkabanExecutorServer.java b/azkaban-exec-server/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
index 09b596c..8d28cef 100644
--- a/azkaban-exec-server/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
+++ b/azkaban-exec-server/src/main/java/azkaban/execapp/AzkabanExecutorServer.java
@@ -196,6 +196,7 @@ public class AzkabanExecutorServer {
logger.warn("Shutting down executor...");
try {
app.shutdownNow();
+ app.getFlowRunnerManager().deleteExecutionDirectory();
} catch (final Exception e) {
logger.error("Error while shutting down http server.", e);
}
diff --git a/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunnerManager.java b/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunnerManager.java
index 5afe1fc..d835c76 100644
--- a/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunnerManager.java
+++ b/azkaban-exec-server/src/main/java/azkaban/execapp/FlowRunnerManager.java
@@ -752,6 +752,18 @@ public class FlowRunnerManager implements EventListener,
this.triggerManager.shutdown();
}
+ /**
+ * Deleting old execution directory to free disk space.
+ */
+ public void deleteExecutionDirectory() {
+ logger.warn("Deleting execution dir: " + this.executionDirectory.getAbsolutePath());
+ try {
+ FileUtils.deleteDirectory(this.executionDirectory);
+ } catch (final IOException e) {
+ logger.error(e);
+ }
+ }
+
private class CleanerThread extends Thread {
// Every hour, clean execution dir.