azkaban-uncached

fix the jobrunner test

1/17/2013 5:49:13 PM

Details

diff --git a/bin/azkaban-executor-start.sh b/bin/azkaban-executor-start.sh
index 500b966..1ad2eff 100644
--- a/bin/azkaban-executor-start.sh
+++ b/bin/azkaban-executor-start.sh
@@ -22,15 +22,23 @@ do
   CLASSPATH=$CLASSPATH:$file
 done
 
+for file in $HADOOP_HOME/hadoop-core*.jar
+do
+  CLASSPATH=$CLASSPATH:$file
+done
+
+CLASSPATH=$CLASSPATH:$HADOOP_HOME/conf
+
 echo $azkaban_dir;
 echo $base_dir;
 echo $CLASSPATH;
 
 executorport=`cat conf/azkaban.properties | grep executor.port | cut -d = -f 2`
 echo "Starting AzkabanExecutorServer on port $executorport ..."
+serverpath=`pwd`
 
 if [ -z $AZKABAN_OPTS ]; then
-  AZKABAN_OPTS="-Xmx3G -server -Dcom.sun.management.jmxremote -Djava.io.tmpdir=$tmpdir -Dexecutorport=$executorport"
+  AZKABAN_OPTS="-Xmx3G -server -Dcom.sun.management.jmxremote -Djava.io.tmpdir=$tmpdir -Dexecutorport=$executorport -Dserverpath=$serverpath"
 fi
 
 NATIVE_LIB_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native/Linux-amd64-64"
diff --git a/bin/azkaban-web-start.sh b/bin/azkaban-web-start.sh
index e53ab33..59f8f7e 100644
--- a/bin/azkaban-web-start.sh
+++ b/bin/azkaban-web-start.sh
@@ -22,12 +22,22 @@ do
   CLASSPATH=$CLASSPATH:$file
 done
 
+for file in $HADOOP_HOME/hadoop-core*.jar
+do
+  CLASSPATH=$CLASSPATH:$file
+done
+
+CLASSPATH=$CLASSPATH:$HADOOP_HOME/conf
+
 echo $azkaban_dir;
 echo $base_dir;
 echo $CLASSPATH;
 
+executorport=`cat conf/azkaban.properties | grep executor.port | cut -d = -f 2`
+serverpath=`pwd`
+
 if [ -z $AZKABAN_OPTS ]; then
-  AZKABAN_OPTS="-Xmx3G -server -Dcom.sun.management.jmxremote -Djava.io.tmpdir=$tmpdir"
+  AZKABAN_OPTS="-Xmx3G -server -Dcom.sun.management.jmxremote -Djava.io.tmpdir=$tmpdir -Dexecutorport=$executorport -Dserverpath=$serverpath"
 fi
 
 HADOOP_NATIVE_LIB="-Djava.library.path=$HADOOP_HOME/lib/native/Linux-amd64-64"
diff --git a/src/java/azkaban/execapp/JobRunner.java b/src/java/azkaban/execapp/JobRunner.java
index 66a8a76..b8fdcab 100644
--- a/src/java/azkaban/execapp/JobRunner.java
+++ b/src/java/azkaban/execapp/JobRunner.java
@@ -198,7 +198,6 @@ public class JobRunner extends EventHandler implements Runnable {
 
 			logInfo("Starting job " + node.getJobId() + " at " + node.getStartTime());
 			node.setStatus(Status.RUNNING);
-			props.put(AbstractProcessJob.JOB_FULLPATH, props.getSource());
 			props.put(AbstractProcessJob.WORKING_DIR, workingDir.getAbsolutePath());
 			//job = JobWrappingFactory.getJobWrappingFactory().buildJobExecutor(node.getJobId(), props, logger);
 			job = jobtypeManager.buildJobExecutor(node.getJobId(), sysProps, props, logger);
diff --git a/src/java/azkaban/jobExecutor/AbstractProcessJob.java b/src/java/azkaban/jobExecutor/AbstractProcessJob.java
index 4bf08a6..967a69b 100644
--- a/src/java/azkaban/jobExecutor/AbstractProcessJob.java
+++ b/src/java/azkaban/jobExecutor/AbstractProcessJob.java
@@ -59,9 +59,9 @@ public abstract class AbstractProcessJob extends AbstractJob {
 
 		this.jobProps = jobProps;
 		this.sysProps = sysProps;
-		_jobPath = jobProps.getString(JOB_FULLPATH, jobProps.getSource());
-
 		_cwd = getWorkingDirectory();
+		_jobPath = _cwd;
+		
 		this.log = log;
 	}
 
diff --git a/src/java/azkaban/jobtype/JobTypeManager.java b/src/java/azkaban/jobtype/JobTypeManager.java
index 845f3e9..e26d383 100644
--- a/src/java/azkaban/jobtype/JobTypeManager.java
+++ b/src/java/azkaban/jobtype/JobTypeManager.java
@@ -266,7 +266,7 @@ public class JobTypeManager
 			
 			Props sysConf = jobtypeSysProps.containsKey(jobType) ? new Props(sysProps, jobtypeSysProps.get(jobType)) : sysProps;
 			Props jobConf = jobtypeJobProps.containsKey(jobType) ? new Props(jobProps, jobtypeJobProps.get(jobType)) : jobProps;
-			sysConf = PropsUtils.resolveProps(sysConf);
+			sysConf = sysConf == null ? new Props() : PropsUtils.resolveProps(sysConf);
 			jobConf = PropsUtils.resolveProps(jobConf);
 			
 //			logger.info("sysConf is " + sysConf);
diff --git a/src/java/azkaban/utils/PropsUtils.java b/src/java/azkaban/utils/PropsUtils.java
index 442b7e6..980bf97 100644
--- a/src/java/azkaban/utils/PropsUtils.java
+++ b/src/java/azkaban/utils/PropsUtils.java
@@ -129,6 +129,8 @@ public class PropsUtils {
 			.compile("\\$\\{([a-zA-Z_.0-9]+)\\}");
 
 	public static Props resolveProps(Props props) {
+		if(props == null) return null;
+		
 		Props resolvedProps = new Props();
 
 		for (String key : props.getKeySet()) {
diff --git a/unit/java/azkaban/test/execapp/JobRunnerTest.java b/unit/java/azkaban/test/execapp/JobRunnerTest.java
index 4009f87..ca91216 100644
--- a/unit/java/azkaban/test/execapp/JobRunnerTest.java
+++ b/unit/java/azkaban/test/execapp/JobRunnerTest.java
@@ -261,7 +261,7 @@ public class JobRunnerTest {
 		
 		Props props = createProps(time, fail);
 		
-		JobRunner runner = new JobRunner(node, props, props, workingDir, loader, jobtypeManager);
+		JobRunner runner = new JobRunner(node, null, props, workingDir, loader, jobtypeManager);
 		runner.addListener(listener);
 		return runner;
 	}
diff --git a/unit/java/azkaban/test/executor/JavaJob.java b/unit/java/azkaban/test/executor/JavaJob.java
index cb6e71e..d5cf9ca 100644
--- a/unit/java/azkaban/test/executor/JavaJob.java
+++ b/unit/java/azkaban/test/executor/JavaJob.java
@@ -44,7 +44,7 @@ public class JavaJob extends JavaProcessJob {
 	private String props;
 
 	public JavaJob(String jobid, Props sysProps, Props jobProps, Logger log) {
-		super(jobid, sysProps, jobProps, log);
+		super(jobid, sysProps, new Props(sysProps, jobProps), log);
 	}
 
 	@Override