azkaban-aplcache
Changes
src/java/azkaban/executor/JobRunner.java 32(+18 -14)
Details
diff --git a/src/java/azkaban/executor/FlowRunner.java b/src/java/azkaban/executor/FlowRunner.java
index 8885f1e..30516ae 100644
--- a/src/java/azkaban/executor/FlowRunner.java
+++ b/src/java/azkaban/executor/FlowRunner.java
@@ -193,7 +193,7 @@ public class FlowRunner extends EventHandler implements Runnable {
// Just to make sure we back off on the flooding.
synchronized (this) {
try {
- wait(10);
+ wait(5);
} catch (InterruptedException e) {
}
src/java/azkaban/executor/JobRunner.java 32(+18 -14)
diff --git a/src/java/azkaban/executor/JobRunner.java b/src/java/azkaban/executor/JobRunner.java
index 1ac4fb4..bafed41 100644
--- a/src/java/azkaban/executor/JobRunner.java
+++ b/src/java/azkaban/executor/JobRunner.java
@@ -30,6 +30,8 @@ public class JobRunner extends EventHandler implements Runnable {
private Layout loggerLayout = DEFAULT_LAYOUT;
private Appender jobAppender;
+ private static final Object logCreatorLock = new Object();
+
public JobRunner(ExecutableNode node, Props props, File workingDir) {
this.props = props;
this.node = node;
@@ -45,20 +47,22 @@ public class JobRunner extends EventHandler implements Runnable {
private void createLogger() {
// Create logger
- String loggerName = System.currentTimeMillis() + "." + node.getFlow().getExecutionId() + "." + node.getId();
- logger = Logger.getLogger(loggerName);
-
- // Create file appender
- String logName = "_job." + node.getFlow().getExecutionId() + "." + node.getId() + ".log";
- File logFile = new File(workingDir, logName);
- String absolutePath = logFile.getAbsolutePath();
-
- jobAppender = null;
- try {
- jobAppender = new FileAppender(loggerLayout, absolutePath, false);
- logger.addAppender(jobAppender);
- } catch (IOException e) {
- logger.error("Could not open log file in " + workingDir, e);
+ synchronized(logCreatorLock) {
+ String loggerName = System.currentTimeMillis() + "." + node.getFlow().getExecutionId() + "." + node.getId();
+ logger = Logger.getLogger(loggerName);
+
+ // Create file appender
+ String logName = "_job." + node.getFlow().getExecutionId() + "." + node.getId() + ".log";
+ File logFile = new File(workingDir, logName);
+ String absolutePath = logFile.getAbsolutePath();
+
+ jobAppender = null;
+ try {
+ jobAppender = new FileAppender(loggerLayout, absolutePath, false);
+ logger.addAppender(jobAppender);
+ } catch (IOException e) {
+ logger.error("Could not open log file in " + workingDir, e);
+ }
}
}