You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by tu...@apache.org on 2012/03/09 06:03:42 UTC
svn commit: r1298704 - in /incubator/oozie/trunk: ./
core/src/main/java/org/apache/oozie/
core/src/main/java/org/apache/oozie/action/hadoop/
core/src/main/java/org/apache/oozie/command/bundle/
core/src/main/java/org/apache/oozie/command/coord/ core/src...
Author: tucu
Date: Fri Mar 9 05:03:40 2012
New Revision: 1298704
URL: http://svn.apache.org/viewvc?rev=1298704&view=rev
Log:
OOZIE-746 JobConf/Configuration creation is inconsistent and makes things fail in odd ways (tucu)
Modified:
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/ErrorCode.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/FsActionExecutor.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/FsELFunctions.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/bundle/BundleSubmitXCommand.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/ActionXCommand.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/ReRunXCommand.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SubmitXCommand.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/WfEndXCommand.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/AuthorizationService.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/WorkflowAppService.java
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/util/JobUtils.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/TestActionFailover.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestDistCpActionExecutor.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestHiveActionExecutor.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestLauncher.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestMapReduceActionError.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestMapReduceActionExecutor.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestPigActionExecutor.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestShellActionExecutor.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestSqoopActionExecutor.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionCheckXCommand.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionStartXCommand.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestAuthorizationService.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestRecoveryService.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/test/XFsTestCase.java
incubator/oozie/trunk/examples/src/test/java/org/apache/oozie/example/TestLocalOozieExample.java
incubator/oozie/trunk/release-log.txt
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/ErrorCode.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/ErrorCode.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/ErrorCode.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/ErrorCode.java Fri Mar 9 05:03:40 2012
@@ -166,8 +166,7 @@ public enum ErrorCode {
E0900(XLog.OPS, "Jobtracker [{0}] not allowed, not in Oozie's whitelist"),
E0901(XLog.OPS, "Namenode [{0}] not allowed, not in Oozie's whitelist"),
E0902(XLog.OPS, "Exception occured: [{0}]"),
- E0903(XLog.OPS, "Configuration does not have Jobtracker Kerberos name or rule"),
- E0904(XLog.OPS, "Configuration does not have Namenode Kerberos name or rule"),
+ E0903(XLog.OPS, "Invalid JobConf, it has not been created by HadoopAccessorService"),
E1001(XLog.STD, "Could not read the coordinator job definition, {0}"),
E1002(XLog.STD, "Invalid coordinator application URI [{0}], {1}"),
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/FsActionExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/FsActionExecutor.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/FsActionExecutor.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/FsActionExecutor.java Fri Mar 9 05:03:40 2012
@@ -21,17 +21,18 @@ import java.io.IOException;
import java.net.URISyntaxException;
import java.util.List;
-import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.permission.FsPermission;
+import org.apache.hadoop.mapred.JobConf;
import org.apache.oozie.action.ActionExecutor;
import org.apache.oozie.action.ActionExecutorException;
import org.apache.oozie.client.WorkflowAction;
import org.apache.oozie.service.HadoopAccessorException;
import org.apache.oozie.service.HadoopAccessorService;
import org.apache.oozie.service.Services;
+import org.apache.oozie.util.XConfiguration;
import org.apache.oozie.util.XmlUtils;
import org.jdom.Element;
@@ -135,8 +136,10 @@ public class FsActionExecutor extends Ac
private FileSystem getFileSystemFor(Path path, Context context) throws HadoopAccessorException {
String user = context.getWorkflow().getUser();
String group = context.getWorkflow().getGroup();
- return Services.get().get(HadoopAccessorService.class).createFileSystem(user, group, path.toUri(),
- context.getProtoActionConf());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ JobConf conf = has.createJobConf(path.toUri().getAuthority());
+ XConfiguration.copy(context.getProtoActionConf(), conf);
+ return has.createFileSystem(user, group, path.toUri(), conf);
}
/**
@@ -147,8 +150,9 @@ public class FsActionExecutor extends Ac
* @throws HadoopAccessorException
*/
private FileSystem getFileSystemFor(Path path, String user, String group) throws HadoopAccessorException {
- return Services.get().get(HadoopAccessorService.class).createFileSystem(user, group, path.toUri(),
- new Configuration());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ JobConf jobConf = has.createJobConf(path.toUri().getAuthority());
+ return has.createFileSystem(user, group, path.toUri(), jobConf);
}
void mkdir(Context context, Path path) throws ActionExecutorException {
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/FsELFunctions.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/FsELFunctions.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/FsELFunctions.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/FsELFunctions.java Fri Mar 9 05:03:40 2012
@@ -24,7 +24,7 @@ import java.net.URISyntaxException;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.mapred.JobConf;
import org.apache.oozie.DagELFunctions;
import org.apache.oozie.client.WorkflowJob;
import org.apache.oozie.service.HadoopAccessorException;
@@ -40,8 +40,9 @@ public class FsELFunctions {
WorkflowJob workflow = DagELFunctions.getWorkflow();
String user = workflow.getUser();
String group = workflow.getGroup();
- return Services.get().get(HadoopAccessorService.class).
- createFileSystem(user, group, uri, DagELFunctions.getProtoActionConf());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ JobConf conf = has.createJobConf(uri.getAuthority());
+ return has.createFileSystem(user, group, uri, conf);
}
/**
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java Fri Mar 9 05:03:40 2012
@@ -175,8 +175,11 @@ public class JavaActionExecutor extends
}
}
- public Configuration createBaseHadoopConf(Context context, Element actionXml) {
- Configuration conf = new XConfiguration();
+ public JobConf createBaseHadoopConf(Context context, Element actionXml) {
+ Namespace ns = actionXml.getNamespace();
+ String jobTracker = actionXml.getChild("job-tracker", ns).getTextTrim();
+ String nameNode = actionXml.getChild("name-node", ns).getTextTrim();
+ JobConf conf = Services.get().get(HadoopAccessorService.class).createJobConf(jobTracker);
conf.set(HADOOP_USER, context.getProtoActionConf().get(WorkflowAppService.HADOOP_USER));
conf.set(HADOOP_UGI, context.getProtoActionConf().get(WorkflowAppService.HADOOP_UGI));
if (context.getProtoActionConf().get(WorkflowAppService.HADOOP_JT_KERBEROS_NAME) != null) {
@@ -188,9 +191,6 @@ public class JavaActionExecutor extends
WorkflowAppService.HADOOP_NN_KERBEROS_NAME));
}
conf.set(OozieClient.GROUP_NAME, context.getProtoActionConf().get(OozieClient.GROUP_NAME));
- Namespace ns = actionXml.getNamespace();
- String jobTracker = actionXml.getChild("job-tracker", ns).getTextTrim();
- String nameNode = actionXml.getChild("name-node", ns).getTextTrim();
conf.set(HADOOP_JOB_TRACKER, jobTracker);
conf.set(HADOOP_NAME_NODE, nameNode);
conf.set("mapreduce.fileoutputcommitter.marksuccessfuljobs", "true");
@@ -221,7 +221,6 @@ public class JavaActionExecutor extends
checkForDisallowedProps(launcherConf, "inline launcher configuration");
XConfiguration.copy(launcherConf, conf);
}
- conf.set("mapreduce.framework.name", "yarn");
return conf;
}
catch (IOException ex) {
@@ -268,7 +267,6 @@ public class JavaActionExecutor extends
checkForDisallowedProps(inlineConf, "inline configuration");
XConfiguration.copy(inlineConf, actionConf);
}
- actionConf.set("mapreduce.framework.name", "yarn");
return actionConf;
}
catch (IOException ex) {
@@ -490,15 +488,9 @@ public class JavaActionExecutor extends
}
// launcher job configuration
- Configuration launcherConf = createBaseHadoopConf(context, actionXml);
- setupLauncherConf(launcherConf, actionXml, appPathRoot, context);
+ JobConf launcherJobConf = createBaseHadoopConf(context, actionXml);
+ setupLauncherConf(launcherJobConf, actionXml, appPathRoot, context);
- // we are doing init+copy because if not we are getting 'hdfs'
- // scheme not known
- // its seems that new JobConf(Conf) does not load defaults, it
- // assumes parameter Conf does.
- JobConf launcherJobConf = new JobConf();
- XConfiguration.copy(launcherConf, launcherJobConf);
setLibFilesArchives(context, actionXml, appPathRoot, launcherJobConf);
String jobName = XLog.format("oozie:launcher:T={0}:W={1}:A={2}:ID={3}", getType(), context.getWorkflow()
.getAppName(), action.getName(), context.getWorkflow().getId());
@@ -521,7 +513,7 @@ public class JavaActionExecutor extends
LauncherMapper.setupLauncherInfo(launcherJobConf, jobId, actionId, actionDir, recoveryId, actionConf,
prepareXML);
- LauncherMapper.setupMainClass(launcherJobConf, getLauncherMain(launcherConf, actionXml));
+ LauncherMapper.setupMainClass(launcherJobConf, getLauncherMain(launcherJobConf, actionXml));
LauncherMapper.setupMaxOutputData(launcherJobConf, maxActionOutputLen);
LauncherMapper.setupMaxExternalStatsSize(launcherJobConf, maxExternalStatsSize);
@@ -535,7 +527,7 @@ public class JavaActionExecutor extends
Element opt = actionXml.getChild("java-opts", ns);
if (opt != null) {
- String opts = launcherConf.get("mapred.child.java.opts", "");
+ String opts = launcherJobConf.get("mapred.child.java.opts", "");
opts = opts + " " + opt.getTextTrim();
opts = opts.trim();
launcherJobConf.set("mapred.child.java.opts", opts);
@@ -884,9 +876,7 @@ public class JavaActionExecutor extends
try {
Element actionXml = XmlUtils.parseXml(action.getConf());
FileSystem actionFs = getActionFileSystem(context, actionXml);
- Configuration conf = createBaseHadoopConf(context, actionXml);
- JobConf jobConf = new JobConf();
- XConfiguration.copy(conf, jobConf);
+ JobConf jobConf = createBaseHadoopConf(context, actionXml);
jobClient = createJobClient(context, jobConf);
RunningJob runningJob = jobClient.getJob(JobID.forName(action.getExternalId()));
if (runningJob == null) {
@@ -1035,9 +1025,7 @@ public class JavaActionExecutor extends
boolean exception = false;
try {
Element actionXml = XmlUtils.parseXml(action.getConf());
- Configuration conf = createBaseHadoopConf(context, actionXml);
- JobConf jobConf = new JobConf();
- XConfiguration.copy(conf, jobConf);
+ JobConf jobConf = createBaseHadoopConf(context, actionXml);
jobClient = createJobClient(context, jobConf);
RunningJob runningJob = jobClient.getJob(JobID.forName(action.getExternalId()));
if (runningJob != null) {
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java Fri Mar 9 05:03:40 2012
@@ -130,9 +130,7 @@ public class MapReduceActionExecutor ext
try {
if (action.getStatus() == WorkflowAction.Status.OK) {
Element actionXml = XmlUtils.parseXml(action.getConf());
- Configuration conf = createBaseHadoopConf(context, actionXml);
- JobConf jobConf = new JobConf();
- XConfiguration.copy(conf, jobConf);
+ JobConf jobConf = createBaseHadoopConf(context, actionXml);
jobClient = createJobClient(context, jobConf);
RunningJob runningJob = jobClient.getJob(JobID.forName(action.getExternalId()));
if (runningJob == null) {
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/bundle/BundleSubmitXCommand.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/bundle/BundleSubmitXCommand.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/bundle/BundleSubmitXCommand.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/bundle/BundleSubmitXCommand.java Fri Mar 9 05:03:40 2012
@@ -271,8 +271,9 @@ public class BundleSubmitXCommand extend
Path bundleAppPath = new Path(bundleAppPathStr);
String user = ParamChecker.notEmpty(conf.get(OozieClient.USER_NAME), OozieClient.USER_NAME);
String group = ParamChecker.notEmpty(conf.get(OozieClient.GROUP_NAME), OozieClient.GROUP_NAME);
- FileSystem fs = Services.get().get(HadoopAccessorService.class).createFileSystem(user, group, bundleAppPath.toUri(),
- new Configuration());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ Configuration fsConf = has.createJobConf(bundleAppPath.toUri().getAuthority());
+ FileSystem fs = has.createFileSystem(user, group, bundleAppPath.toUri(), fsConf);
// app path could be a directory
if (!fs.isFile(bundleAppPath)) {
@@ -331,8 +332,9 @@ public class BundleSubmitXCommand extend
try {
URI uri = new URI(appPath);
LOG.debug("user =" + user + " group =" + group);
- FileSystem fs = Services.get().get(HadoopAccessorService.class).createFileSystem(user, group, uri,
- new Configuration());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ Configuration fsConf = has.createJobConf(uri.getAuthority());
+ FileSystem fs = has.createFileSystem(user, group, uri, fsConf);
Path appDefPath = null;
// app path could be a directory
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java Fri Mar 9 05:03:40 2012
@@ -411,8 +411,9 @@ public class CoordActionInputCheckXComma
String user = ParamChecker.notEmpty(actionConf.get(OozieClient.USER_NAME), OozieClient.USER_NAME);
String group = ParamChecker.notEmpty(actionConf.get(OozieClient.GROUP_NAME), OozieClient.GROUP_NAME);
try {
- return Services.get().get(HadoopAccessorService.class).createFileSystem(user, group, path.toUri(),
- new Configuration()).exists(path);
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ Configuration fsConf = has.createJobConf(path.toUri().getAuthority());
+ return has.createFileSystem(user, group, path.toUri(), fsConf).exists(path);
}
catch (HadoopAccessorException e) {
throw new IOException(e);
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java Fri Mar 9 05:03:40 2012
@@ -407,8 +407,9 @@ public class CoordSubmitXCommand extends
Path coordAppPath = new Path(coordAppPathStr);
String user = ParamChecker.notEmpty(conf.get(OozieClient.USER_NAME), OozieClient.USER_NAME);
String group = ParamChecker.notEmpty(conf.get(OozieClient.GROUP_NAME), OozieClient.GROUP_NAME);
- FileSystem fs = Services.get().get(HadoopAccessorService.class).createFileSystem(user, group,
- coordAppPath.toUri(), new Configuration());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ Configuration fsConf = has.createJobConf(coordAppPath.toUri().getAuthority());
+ FileSystem fs = has.createFileSystem(user, group, coordAppPath.toUri(), fsConf);
// app path could be a directory
if (!fs.isFile(coordAppPath)) {
@@ -939,8 +940,9 @@ public class CoordSubmitXCommand extends
try {
URI uri = new URI(appPath);
LOG.debug("user =" + user + " group =" + group);
- FileSystem fs = Services.get().get(HadoopAccessorService.class).createFileSystem(user, group, uri,
- new Configuration());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ Configuration fsConf = has.createJobConf(uri.getAuthority());
+ FileSystem fs = has.createFileSystem(user, group, uri, fsConf);
Path appDefPath = null;
// app path could be a directory
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/ActionXCommand.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/ActionXCommand.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/ActionXCommand.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/ActionXCommand.java Fri Mar 9 05:03:40 2012
@@ -461,11 +461,10 @@ public abstract class ActionXCommand<T>
*/
public FileSystem getAppFileSystem() throws HadoopAccessorException, IOException, URISyntaxException {
WorkflowJob workflow = getWorkflow();
- XConfiguration jobConf = new XConfiguration(new StringReader(workflow.getConf()));
- Configuration fsConf = new Configuration();
- XConfiguration.copy(jobConf, fsConf);
- return Services.get().get(HadoopAccessorService.class).createFileSystem(workflow.getUser(),
- workflow.getGroup(), new URI(getWorkflow().getAppPath()), fsConf);
+ URI uri = new URI(getWorkflow().getAppPath());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ Configuration fsConf = has.createJobConf(uri.getAuthority());
+ return has.createFileSystem(workflow.getUser(), workflow.getGroup(), uri, fsConf);
}
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/ReRunXCommand.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/ReRunXCommand.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/ReRunXCommand.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/ReRunXCommand.java Fri Mar 9 05:03:40 2012
@@ -119,8 +119,9 @@ public class ReRunXCommand extends Workf
WorkflowLib workflowLib = Services.get().get(WorkflowStoreService.class).getWorkflowLibWithNoDB();
URI uri = new URI(conf.get(OozieClient.APP_PATH));
- FileSystem fs = Services.get().get(HadoopAccessorService.class).createFileSystem(wfBean.getUser(),
- wfBean.getGroup(), uri, new Configuration());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ Configuration fsConf = has.createJobConf(uri.getAuthority());
+ FileSystem fs = has.createFileSystem(wfBean.getUser(), wfBean.getGroup(), uri, fsConf);
Path configDefault = null;
// app path could be a directory
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SubmitXCommand.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SubmitXCommand.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SubmitXCommand.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SubmitXCommand.java Fri Mar 9 05:03:40 2012
@@ -103,8 +103,9 @@ public class SubmitXCommand extends Work
String user = conf.get(OozieClient.USER_NAME);
String group = ConfigUtils.getWithDeprecatedCheck(conf, OozieClient.JOB_ACL, OozieClient.GROUP_NAME, null);
URI uri = new URI(conf.get(OozieClient.APP_PATH));
- FileSystem fs = Services.get().get(HadoopAccessorService.class).createFileSystem(user,
- group, uri, new Configuration());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ Configuration fsConf = has.createJobConf(uri.getAuthority());
+ FileSystem fs = has.createFileSystem(user, group, uri, fsConf);
Path configDefault = null;
// app path could be a directory
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/WfEndXCommand.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/WfEndXCommand.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/WfEndXCommand.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/WfEndXCommand.java Fri Mar 9 05:03:40 2012
@@ -79,11 +79,10 @@ public class WfEndXCommand extends Workf
protected FileSystem getAppFileSystem(WorkflowJob workflow) throws HadoopAccessorException, IOException,
URISyntaxException {
- XConfiguration jobConf = new XConfiguration(new StringReader(workflow.getConf()));
- Configuration fsConf = new Configuration();
- XConfiguration.copy(jobConf, fsConf);
- return Services.get().get(HadoopAccessorService.class).createFileSystem(workflow.getUser(),
- workflow.getGroup(), new URI(workflow.getAppPath()), fsConf);
+ URI uri = new URI(workflow.getAppPath());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ Configuration fsConf = has.createJobConf(uri.getAuthority());
+ return has.createFileSystem(workflow.getUser(), workflow.getGroup(), uri, fsConf);
}
@Override
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java Fri Mar 9 05:03:40 2012
@@ -818,8 +818,9 @@ public class CoordELFunctions {
throws IOException, HadoopAccessorException {
// sPath += "/" + END_OF_OPERATION_INDICATOR_FILE;
Path path = new Path(sPath);
- return Services.get().get(HadoopAccessorService.class).
- createFileSystem(user, group, path.toUri(), conf).exists(path);
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ Configuration fsConf = has.createJobConf(path.toUri().getAuthority());
+ return has.createFileSystem(user, group, path.toUri(), fsConf).exists(path);
}
/**
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/AuthorizationService.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/AuthorizationService.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/AuthorizationService.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/AuthorizationService.java Fri Mar 9 05:03:40 2012
@@ -23,6 +23,7 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
+import java.net.URI;
import java.util.HashSet;
import java.util.Set;
@@ -266,8 +267,10 @@ public class AuthorizationService implem
public void authorizeForApp(String user, String group, String appPath, Configuration jobConf)
throws AuthorizationException {
try {
- FileSystem fs = Services.get().get(HadoopAccessorService.class).createFileSystem(user, group,
- new Path(appPath).toUri(), jobConf);
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ URI uri = new Path(appPath).toUri();
+ Configuration fsConf = has.createJobConf(uri.getAuthority());
+ FileSystem fs = has.createFileSystem(user, group, uri, fsConf);
Path path = new Path(appPath);
try {
@@ -316,13 +319,11 @@ public class AuthorizationService implem
public void authorizeForApp(String user, String group, String appPath, String fileName, Configuration conf)
throws AuthorizationException {
try {
- //Configuration conf = new Configuration();
- //conf.set("user.name", user);
- // TODO Temporary fix till
- // https://issues.apache.org/jira/browse/HADOOP-4875 is resolved.
- //conf.set("hadoop.job.ugi", user + "," + group);
- FileSystem fs = Services.get().get(HadoopAccessorService.class).createFileSystem(user, group,
- new Path(appPath).toUri(), conf);
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ URI uri = new Path(appPath).toUri();
+ Configuration fsConf = has.createJobConf(uri.getAuthority());
+ FileSystem fs = has.createFileSystem(user, group, uri, fsConf);
+
Path path = new Path(appPath);
try {
if (!fs.exists(path)) {
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/HadoopAccessorService.java Fri Mar 9 05:03:40 2012
@@ -31,7 +31,6 @@ import org.apache.oozie.ErrorCode;
import org.apache.oozie.util.ParamChecker;
import org.apache.oozie.util.XConfiguration;
import org.apache.oozie.util.XLog;
-import org.apache.oozie.workflow.WorkflowApp;
import java.io.File;
import java.io.FileInputStream;
@@ -62,6 +61,8 @@ public class HadoopAccessorService imple
public static final String KERBEROS_KEYTAB = CONF_PREFIX + "keytab.file";
public static final String KERBEROS_PRINCIPAL = CONF_PREFIX + "kerberos.principal";
+ private static final String OOZIE_HADOOP_ACCESSOR_SERVICE_CREATED = "oozie.HadoopAccessorService.created";
+
private Set<String> jobTrackerWhitelist = new HashSet<String>();
private Set<String> nameNodeWhitelist = new HashSet<String>();
private Map<String, Configuration> hadoopConfigs = new HashMap<String, Configuration>();
@@ -183,8 +184,16 @@ public class HadoopAccessorService imple
return ugi;
}
- public Configuration getConfiguration(String hostPort) {
- Configuration conf = hadoopConfigs.get(hostPort.toLowerCase());
+ public JobConf createJobConf(String hostPort) {
+ JobConf jobConf = new JobConf();
+ XConfiguration.copy(getConfiguration(hostPort), jobConf);
+ jobConf.setBoolean(OOZIE_HADOOP_ACCESSOR_SERVICE_CREATED, true);
+ return jobConf;
+ }
+
+ private Configuration getConfiguration(String hostPort) {
+ hostPort = (hostPort != null) ? hostPort.toLowerCase() : null;
+ Configuration conf = hadoopConfigs.get(hostPort);
if (conf == null) {
conf = hadoopConfigs.get("*");
if (conf == null) {
@@ -204,9 +213,11 @@ public class HadoopAccessorService imple
*/
public JobClient createJobClient(String user, String group, final JobConf conf) throws HadoopAccessorException {
ParamChecker.notEmpty(user, "user");
+ if (!conf.getBoolean(OOZIE_HADOOP_ACCESSOR_SERVICE_CREATED, false)) {
+ throw new HadoopAccessorException(ErrorCode.E0903);
+ }
String jobTracker = conf.get("mapred.job.tracker");
validateJobTracker(jobTracker);
- XConfiguration.injectDefaults(getConfiguration(jobTracker), conf);
try {
UserGroupInformation ugi = getUGI(user);
JobClient jobClient = ugi.doAs(new PrivilegedExceptionAction<JobClient>() {
@@ -254,6 +265,9 @@ public class HadoopAccessorService imple
public FileSystem createFileSystem(String user, String group, final URI uri, final Configuration conf)
throws HadoopAccessorException {
ParamChecker.notEmpty(user, "user");
+ if (!conf.getBoolean(OOZIE_HADOOP_ACCESSOR_SERVICE_CREATED, false)) {
+ throw new HadoopAccessorException(ErrorCode.E0903);
+ }
String nameNode = uri.getAuthority();
if (nameNode == null) {
nameNode = conf.get("fs.default.name");
@@ -268,17 +282,11 @@ public class HadoopAccessorService imple
}
validateNameNode(nameNode);
- //it is null in the case of localFileSystem (in many testcases)
- if (nameNode != null) {
- XConfiguration.injectDefaults(getConfiguration(nameNode), conf);
- }
try {
UserGroupInformation ugi = getUGI(user);
return ugi.doAs(new PrivilegedExceptionAction<FileSystem>() {
public FileSystem run() throws Exception {
- Configuration defaultConf = new Configuration();
- XConfiguration.copy(conf, defaultConf);
- return FileSystem.get(uri, defaultConf);
+ return FileSystem.get(uri, conf);
}
});
}
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/WorkflowAppService.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/WorkflowAppService.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/WorkflowAppService.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/service/WorkflowAppService.java Fri Mar 9 05:03:40 2012
@@ -22,6 +22,7 @@ import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.PathFilter;
+import org.apache.hadoop.mapred.JobConf;
import org.apache.oozie.client.OozieClient;
import org.apache.oozie.workflow.WorkflowApp;
import org.apache.oozie.workflow.WorkflowException;
@@ -102,8 +103,9 @@ public abstract class WorkflowAppService
throws WorkflowException {
try {
URI uri = new URI(appPath);
- FileSystem fs = Services.get().get(HadoopAccessorService.class).
- createFileSystem(user, group, uri, new Configuration());
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ JobConf jobConf = has.createJobConf(uri.getAuthority());
+ FileSystem fs = has.createFileSystem(user, group, uri, jobConf);
// app path could be a directory
Path path = new Path(uri.getPath());
@@ -143,8 +145,12 @@ public abstract class WorkflowAppService
*/
public XConfiguration createProtoActionConf(Configuration jobConf, String authToken, boolean isWorkflowJob)
throws WorkflowException {
- XConfiguration conf = new XConfiguration();
try {
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ URI uri = new URI(jobConf.get(OozieClient.APP_PATH));
+
+ Configuration conf = has.createJobConf(uri.getAuthority());
+
String user = jobConf.get(OozieClient.USER_NAME);
String group = jobConf.get(OozieClient.GROUP_NAME);
String hadoopUgi = user + "," + group;
@@ -156,9 +162,8 @@ public abstract class WorkflowAppService
conf.set(HADOOP_JT_KERBEROS_NAME, jobConf.get(HADOOP_JT_KERBEROS_NAME));
conf.set(HADOOP_NN_KERBEROS_NAME, jobConf.get(HADOOP_NN_KERBEROS_NAME));
- URI uri = new URI(jobConf.get(OozieClient.APP_PATH));
- FileSystem fs = Services.get().get(HadoopAccessorService.class).createFileSystem(user, group, uri, conf);
+ FileSystem fs = has.createFileSystem(user, group, uri, conf);
Path appPath = new Path(uri.getPath());
XLog.getLog(getClass()).debug("jobConf.libPath = " + jobConf.get(OozieClient.LIBPATH));
@@ -204,7 +209,9 @@ public abstract class WorkflowAppService
conf.set(name, value);
}
}
- return conf;
+ XConfiguration retConf = new XConfiguration();
+ XConfiguration.copy(conf, retConf);
+ return retConf;
}
catch (IOException ex) {
throw new WorkflowException(ErrorCode.E0712, jobConf.get(OozieClient.APP_PATH), ex.getMessage(), ex);
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/util/JobUtils.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/util/JobUtils.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/util/JobUtils.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/util/JobUtils.java Fri Mar 9 05:03:40 2012
@@ -18,6 +18,7 @@
package org.apache.oozie.util;
import java.io.IOException;
+import java.net.URI;
import java.util.HashMap;
import java.util.Map;
@@ -62,7 +63,10 @@ public class JobUtils {
FileSystem fs = null;
try {
- fs = Services.get().get(HadoopAccessorService.class).createFileSystem(user, group, new Path(appPathStr).toUri(), conf);
+ URI uri = new Path(appPathStr).toUri();
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ Configuration fsConf = has.createJobConf(uri.getAuthority());
+ fs = has.createFileSystem(user, group, uri, fsConf);
}
catch (HadoopAccessorException ex) {
throw new IOException(ex.getMessage());
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/TestActionFailover.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/TestActionFailover.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/TestActionFailover.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/TestActionFailover.java Fri Mar 9 05:03:40 2012
@@ -18,6 +18,7 @@
package org.apache.oozie.action;
+import java.io.OutputStreamWriter;
import java.util.List;
import java.io.File;
import java.io.FileWriter;
@@ -39,6 +40,7 @@ import org.apache.oozie.local.LocalOozie
import org.apache.oozie.service.Services;
import org.apache.oozie.test.XFsTestCase;
import org.apache.oozie.util.IOUtils;
+import org.mortbay.io.WriterOutputStream;
public class TestActionFailover extends XFsTestCase {
@@ -57,13 +59,14 @@ public class TestActionFailover extends
}
public void testFsFailover() throws Exception {
+ Path wf = new Path(getFsTestCaseDir(), "workflow.xml");
Reader reader = IOUtils.getResourceAsReader("failover-fs-wf.xml", -1);
- Writer writer = new FileWriter(getTestCaseDir() + "/workflow.xml");
+ Writer writer = new OutputStreamWriter(getFileSystem().create(wf));
IOUtils.copyCharStream(reader, writer);
final OozieClient wfClient = LocalOozie.getClient();
Properties conf = wfClient.createConfiguration();
- conf.setProperty(OozieClient.APP_PATH, getTestCaseDir() + File.separator + "workflow.xml");
+ conf.setProperty(OozieClient.APP_PATH, wf.toString());
conf.setProperty(OozieClient.USER_NAME, getTestUser());
conf.setProperty(OozieClient.GROUP_NAME, getTestGroup());
injectKerberosInfo(conf);
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestDistCpActionExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestDistCpActionExecutor.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestDistCpActionExecutor.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestDistCpActionExecutor.java Fri Mar 9 05:03:40 2012
@@ -107,7 +107,7 @@ public class TestDistCpActionExecutor ex
assertNotNull(jobTracker);
assertNotNull(consoleUrl);
- JobConf jobConf = new JobConf();
+ JobConf jobConf = Services.get().get(HadoopAccessorService.class).createJobConf(jobTracker);
jobConf.set("mapred.job.tracker", jobTracker);
injectKerberosInfo(jobConf);
JobClient jobClient =
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestHiveActionExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestHiveActionExecutor.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestHiveActionExecutor.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestHiveActionExecutor.java Fri Mar 9 05:03:40 2012
@@ -208,7 +208,7 @@ public class TestHiveActionExecutor exte
conf.set("user.name", context.getProtoActionConf().get("user.name"));
conf.set("group.name", getTestGroup());
injectKerberosInfo(conf);
- JobConf jobConf = new JobConf();
+ JobConf jobConf = Services.get().get(HadoopAccessorService.class).createJobConf(jobTracker);
XConfiguration.copy(conf, jobConf);
String user = jobConf.get("user.name");
String group = jobConf.get("group.name");
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestJavaActionExecutor.java Fri Mar 9 05:03:40 2012
@@ -22,6 +22,7 @@ import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.StringReader;
+import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@@ -331,7 +332,7 @@ public class TestJavaActionExecutor exte
assertNotNull(jobTracker);
assertNotNull(consoleUrl);
- JobConf jobConf = new JobConf();
+ JobConf jobConf = Services.get().get(HadoopAccessorService.class).createJobConf(jobTracker);
jobConf.set("mapred.job.tracker", jobTracker);
injectKerberosInfo(jobConf);
JobClient jobClient =
@@ -764,8 +765,9 @@ public class TestJavaActionExecutor exte
private WorkflowJobBean addRecordToWfJobTable(String wfId, String wfxml) throws Exception {
WorkflowApp app = new LiteWorkflowApp("testApp", wfxml, new StartNodeDef("start"))
.addNode(new EndNodeDef("end"));
- Configuration conf = new Configuration();
- conf.set(OozieClient.APP_PATH, "testPath");
+ Configuration conf = Services.get().get(HadoopAccessorService.class).
+ createJobConf(new URI(getNameNodeUri()).getAuthority());
+ conf.set(OozieClient.APP_PATH, getNameNodeUri() + "/testPath");
conf.set(OozieClient.LOG_TOKEN, "testToken");
conf.set(OozieClient.USER_NAME, getTestUser());
conf.set(OozieClient.GROUP_NAME, getTestGroup());
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestLauncher.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestLauncher.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestLauncher.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestLauncher.java Fri Mar 9 05:03:40 2012
@@ -27,11 +27,13 @@ import org.apache.hadoop.mapred.RunningJ
import org.apache.oozie.test.XFsTestCase;
import org.apache.oozie.util.IOUtils;
import org.apache.oozie.util.XConfiguration;
+import org.apache.oozie.service.HadoopAccessorService;
import org.apache.oozie.service.HadoopAccessorException;
import org.apache.oozie.service.Services;
import java.io.File;
import java.io.IOException;
+import java.net.URI;
public class TestLauncher extends XFsTestCase {
@@ -59,7 +61,8 @@ public class TestLauncher extends XFsTes
Path launcherJar = new Path(actionDir, "launcher.jar");
fs.copyFromLocalFile(new Path(jar.toString()), launcherJar);
- JobConf jobConf = new JobConf();
+ JobConf jobConf = Services.get().get(HadoopAccessorService.class).
+ createJobConf(new URI(getNameNodeUri()).getAuthority());
// jobConf.setJar(jar.getAbsolutePath());
jobConf.set("user.name", getTestUser());
jobConf.set("group.name", getTestGroup());
@@ -222,11 +225,12 @@ public class TestLauncher extends XFsTes
// Test to ensure that the property value "oozie.action.prepare.xml" in the configuration of the job is an empty
// string when there is no prepare block in workflow XML or there is one with no prepare actions in it
- public void testSetupLauncherInfoWithEmptyPrepareXML() throws HadoopAccessorException, IOException {
+ public void testSetupLauncherInfoWithEmptyPrepareXML() throws Exception {
Path actionDir = getFsTestCaseDir();
// Setting up the job configuration
- JobConf jobConf = new JobConf();
+ JobConf jobConf = Services.get().get(HadoopAccessorService.class).
+ createJobConf(new URI(getNameNodeUri()).getAuthority());
jobConf.set("user.name", getTestUser());
jobConf.set("group.name", getTestGroup());
jobConf.set("fs.default.name", getNameNodeUri());
@@ -241,13 +245,14 @@ public class TestLauncher extends XFsTes
// Test to ensure that the property value "oozie.action.prepare.xml" in the configuration of the job is properly set
// when there is prepare block in workflow XML
- public void testSetupLauncherInfoWithNonEmptyPrepareXML() throws HadoopAccessorException, IOException {
+ public void testSetupLauncherInfoWithNonEmptyPrepareXML() throws Exception {
Path actionDir = getFsTestCaseDir();
FileSystem fs = getFileSystem();
Path newDir = new Path(actionDir, "newDir");
// Setting up the job configuration
- JobConf jobConf = new JobConf();
+ JobConf jobConf = Services.get().get(HadoopAccessorService.class).
+ createJobConf(new URI(getNameNodeUri()).getAuthority());
jobConf.set("user.name", getTestUser());
jobConf.set("group.name", getTestGroup());
jobConf.set("fs.default.name", getNameNodeUri());
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestMapReduceActionError.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestMapReduceActionError.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestMapReduceActionError.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestMapReduceActionError.java Fri Mar 9 05:03:40 2012
@@ -208,7 +208,7 @@ public class TestMapReduceActionError ex
conf.set("group.name", getTestGroup());
injectKerberosInfo(conf);
conf.set("mapreduce.framework.name", "yarn");
- JobConf jobConf = new JobConf();
+ JobConf jobConf = Services.get().get(HadoopAccessorService.class).createJobConf(jobTracker);
XConfiguration.copy(conf, jobConf);
String user = jobConf.get("user.name");
String group = jobConf.get("group.name");
@@ -232,12 +232,10 @@ public class TestMapReduceActionError ex
MapReduceActionExecutor ae = new MapReduceActionExecutor();
ae.check(context, context.getAction());
- Configuration conf = ae.createBaseHadoopConf(context, XmlUtils.parseXml(actionXml));
+ JobConf conf = ae.createBaseHadoopConf(context, XmlUtils.parseXml(actionXml));
String user = conf.get("user.name");
String group = conf.get("group.name");
- JobConf jobConf = new JobConf();
- XConfiguration.copy(conf, jobConf);
- JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group, jobConf);
+ JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group, conf);
final RunningJob mrJob = jobClient.getJob(JobID.forName(context.getAction().getExternalId()));
waitFor(60 * 1000, new Predicate() {
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestMapReduceActionExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestMapReduceActionExecutor.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestMapReduceActionExecutor.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestMapReduceActionExecutor.java Fri Mar 9 05:03:40 2012
@@ -218,7 +218,7 @@ public class TestMapReduceActionExecutor
conf.set("group.name", getTestGroup());
injectKerberosInfo(conf);
conf.set("mapreduce.framework.name", "yarn");
- JobConf jobConf = new JobConf();
+ JobConf jobConf = Services.get().get(HadoopAccessorService.class).createJobConf(jobTracker);
XConfiguration.copy(conf, jobConf);
String user = jobConf.get("user.name");
String group = jobConf.get("group.name");
@@ -246,13 +246,10 @@ public class TestMapReduceActionExecutor
ae.check(context, context.getAction());
assertFalse(launcherId.equals(context.getAction().getExternalId()));
- Configuration conf = ae.createBaseHadoopConf(context, XmlUtils.parseXml(actionXml));
+ JobConf conf = ae.createBaseHadoopConf(context, XmlUtils.parseXml(actionXml));
String user = conf.get("user.name");
String group = conf.get("group.name");
- JobConf jobConf = new JobConf();
- XConfiguration.copy(conf, jobConf);
- JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group,
- jobConf);
+ JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group, conf);
final RunningJob mrJob = jobClient.getJob(JobID.forName(context.getAction().getExternalId()));
waitFor(120 * 1000, new Predicate() {
@@ -296,13 +293,10 @@ public class TestMapReduceActionExecutor
ae.check(context, context.getAction());
assertFalse(launcherId.equals(context.getAction().getExternalId()));
- Configuration conf = ae.createBaseHadoopConf(context, XmlUtils.parseXml(actionXml));
+ JobConf conf = ae.createBaseHadoopConf(context, XmlUtils.parseXml(actionXml));
String user = conf.get("user.name");
String group = conf.get("group.name");
- JobConf jobConf = new JobConf();
- XConfiguration.copy(conf, jobConf);
- JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group,
- jobConf);
+ JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group, conf);
final RunningJob mrJob = jobClient.getJob(JobID.forName(context.getAction().getExternalId()));
waitFor(120 * 1000, new Predicate() {
@@ -493,13 +487,10 @@ public class TestMapReduceActionExecutor
ae.check(context, context.getAction());
assertFalse(launcherId.equals(context.getAction().getExternalId()));
- Configuration conf = ae.createBaseHadoopConf(context, XmlUtils.parseXml(actionXml));
+ JobConf conf = ae.createBaseHadoopConf(context, XmlUtils.parseXml(actionXml));
String user = conf.get("user.name");
String group = conf.get("group.name");
- JobConf jobConf = new JobConf();
- XConfiguration.copy(conf, jobConf);
- JobClient jobClient = Services.get().get(HadoopAccessorService.class)
- .createJobClient(user, group, jobConf);
+ JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group, conf);
final RunningJob mrJob = jobClient.getJob(JobID.forName(context.getAction().getExternalId()));
waitFor(120 * 1000, new Predicate() {
@@ -571,13 +562,10 @@ public class TestMapReduceActionExecutor
ae.check(context, context.getAction());
assertFalse(launcherId.equals(context.getAction().getExternalId()));
- Configuration conf = ae.createBaseHadoopConf(context, XmlUtils.parseXml(actionXml));
+ JobConf conf = ae.createBaseHadoopConf(context, XmlUtils.parseXml(actionXml));
String user = conf.get("user.name");
String group = conf.get("group.name");
- JobConf jobConf = new JobConf();
- XConfiguration.copy(conf, jobConf);
- JobClient jobClient = Services.get().get(HadoopAccessorService.class)
- .createJobClient(user, group, jobConf);
+ JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group, conf);
final RunningJob mrJob = jobClient.getJob(JobID.forName(context.getAction().getExternalId()));
waitFor(120 * 1000, new Predicate() {
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestPigActionExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestPigActionExecutor.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestPigActionExecutor.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestPigActionExecutor.java Fri Mar 9 05:03:40 2012
@@ -174,7 +174,7 @@ public class TestPigActionExecutor exten
conf.set("user.name", context.getProtoActionConf().get("user.name"));
conf.set("group.name", getTestGroup());
injectKerberosInfo(conf);
- JobConf jobConf = new JobConf();
+ JobConf jobConf = Services.get().get(HadoopAccessorService.class).createJobConf(jobTracker);
XConfiguration.copy(conf, jobConf);
String user = jobConf.get("user.name");
String group = jobConf.get("group.name");
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestShellActionExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestShellActionExecutor.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestShellActionExecutor.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestShellActionExecutor.java Fri Mar 9 05:03:40 2012
@@ -289,7 +289,7 @@ public class TestShellActionExecutor ext
conf.set("user.name", context.getProtoActionConf().get("user.name"));
conf.set("group.name", getTestGroup());
injectKerberosInfo(conf);
- JobConf jobConf = new JobConf();
+ JobConf jobConf = Services.get().get(HadoopAccessorService.class).createJobConf(jobTracker);
XConfiguration.copy(conf, jobConf);
String user = jobConf.get("user.name");
String group = jobConf.get("group.name");
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestSqoopActionExecutor.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestSqoopActionExecutor.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestSqoopActionExecutor.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestSqoopActionExecutor.java Fri Mar 9 05:03:40 2012
@@ -271,7 +271,7 @@ public class TestSqoopActionExecutor ext
conf.set("mapreduce.framework.name", "yarn");
conf.set("group.name", getTestGroup());
injectKerberosInfo(conf);
- JobConf jobConf = new JobConf();
+ JobConf jobConf = Services.get().get(HadoopAccessorService.class).createJobConf(jobTracker);
XConfiguration.copy(conf, jobConf);
String user = jobConf.get("user.name");
String group = jobConf.get("group.name");
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionCheckXCommand.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionCheckXCommand.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionCheckXCommand.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionCheckXCommand.java Fri Mar 9 05:03:40 2012
@@ -199,10 +199,10 @@ public class TestActionCheckXCommand ext
ActionExecutorContext context = new ActionXCommand.ActionExecutorContext(job, action, false, false);
MapReduceActionExecutor actionExecutor = new MapReduceActionExecutor();
- Configuration conf = actionExecutor.createBaseHadoopConf(context, XmlUtils.parseXml(action.getConf()));
+ JobConf conf = actionExecutor.createBaseHadoopConf(context, XmlUtils.parseXml(action.getConf()));
String user = conf.get("user.name");
String group = conf.get("group.name");
- JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group, new JobConf(conf));
+ JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group, conf);
String launcherId = action.getExternalId();
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionStartXCommand.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionStartXCommand.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionStartXCommand.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/command/wf/TestActionStartXCommand.java Fri Mar 9 05:03:40 2012
@@ -155,11 +155,10 @@ public class TestActionStartXCommand ext
ActionExecutorContext context = new ActionXCommand.ActionExecutorContext(job, action, false, false);
MapReduceActionExecutor actionExecutor = new MapReduceActionExecutor();
- Configuration conf = actionExecutor.createBaseHadoopConf(context, XmlUtils.parseXml(action.getConf()));
+ JobConf conf = actionExecutor.createBaseHadoopConf(context, XmlUtils.parseXml(action.getConf()));
String user = conf.get("user.name");
String group = conf.get("group.name");
- JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group,
- new JobConf(conf));
+ JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group, conf);
String launcherId = action.getExternalId();
@@ -218,11 +217,10 @@ public class TestActionStartXCommand ext
ActionExecutorContext context = new ActionXCommand.ActionExecutorContext(job, action, false, false);
MapReduceActionExecutor actionExecutor = new MapReduceActionExecutor();
- Configuration conf = actionExecutor.createBaseHadoopConf(context, XmlUtils.parseXml(action.getConf()));
+ JobConf conf = actionExecutor.createBaseHadoopConf(context, XmlUtils.parseXml(action.getConf()));
String user = conf.get("user.name");
String group = conf.get("group.name");
- JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group,
- new JobConf(conf));
+ JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group, conf);
String launcherId = action.getExternalId();
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestAuthorizationService.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestAuthorizationService.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestAuthorizationService.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestAuthorizationService.java Fri Mar 9 05:03:40 2012
@@ -22,6 +22,7 @@ import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
+import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -134,8 +135,10 @@ public class TestAuthorizationService ex
final String jobId = engine.submitJob(jobConf, true);
- FileSystem fileSystem = Services.get().get(HadoopAccessorService.class).
- createFileSystem(getTestUser(), getTestGroup(), getFileSystem().getUri(), jobConf);
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ URI uri = getFileSystem().getUri();
+ Configuration fsConf = has.createJobConf(uri.getAuthority());
+ FileSystem fileSystem = has.createFileSystem(getTestUser(), getTestGroup(), uri, fsConf);
Path path = new Path(fileSystem.getWorkingDirectory(), getTestCaseDir().substring(1));
Path fsTestDir = fileSystem.makeQualified(path);
@@ -232,9 +235,11 @@ public class TestAuthorizationService ex
Configuration conf = new Configuration();
injectKerberosInfo(conf);
- FileSystem fileSystem = Services.get().get(HadoopAccessorService.class).
- createFileSystem(getTestUser(), getTestGroup(), getFileSystem().getUri(), conf);
-
+ HadoopAccessorService has = Services.get().get(HadoopAccessorService.class);
+ URI uri = getFileSystem().getUri();
+ Configuration fsConf = has.createJobConf(uri.getAuthority());
+ FileSystem fileSystem = has.createFileSystem(getTestUser(), getTestGroup(), uri, fsConf);
+
try {
as.authorizeForGroup(getTestUser3(), getTestGroup());
fail();
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestHadoopAccessorService.java Fri Mar 9 05:03:40 2012
@@ -56,14 +56,14 @@ public class TestHadoopAccessorService e
Services services = Services.get();
HadoopAccessorService has = services.get(HadoopAccessorService.class);
assertNotNull(has);
- assertNotNull(has.getConfiguration("*"));
- assertNotNull(has.getConfiguration("test"));
- assertEquals("bar", has.getConfiguration("test").get("foo"));
+ assertNotNull(has.createJobConf("*"));
+ assertNotNull(has.createJobConf("test"));
+ assertEquals("bar", has.createJobConf("test").get("foo"));
}
public void testAccessor() throws Exception {
Services services = Services.get();
HadoopAccessorService has = services.get(HadoopAccessorService.class);
- JobConf conf = new JobConf();
+ JobConf conf = has.createJobConf(getJobTrackerUri());
conf.set("mapred.job.tracker", getJobTrackerUri());
conf.set("fs.default.name", getNameNodeUri());
injectKerberosInfo(conf);
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestRecoveryService.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestRecoveryService.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestRecoveryService.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/service/TestRecoveryService.java Fri Mar 9 05:03:40 2012
@@ -212,11 +212,10 @@ public class TestRecoveryService extends
ActionExecutorContext context = new ActionXCommand.ActionExecutorContext(job, action, false, false);
MapReduceActionExecutor actionExecutor = new MapReduceActionExecutor();
- Configuration conf = actionExecutor.createBaseHadoopConf(context, XmlUtils.parseXml(action.getConf()));
+ JobConf conf = actionExecutor.createBaseHadoopConf(context, XmlUtils.parseXml(action.getConf()));
String user = conf.get("user.name");
String group = conf.get("group.name");
- JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group,
- new JobConf(conf));
+ JobClient jobClient = Services.get().get(HadoopAccessorService.class).createJobClient(user, group, conf);
String launcherId = action.getExternalId();
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/test/XFsTestCase.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/test/XFsTestCase.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/test/XFsTestCase.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/test/XFsTestCase.java Fri Mar 9 05:03:40 2012
@@ -68,8 +68,9 @@ public abstract class XFsTestCase extend
has = new HadoopAccessorService();
has.init(conf);
-
- fileSystem = has.createFileSystem(getTestUser(), getTestGroup(), new URI(getNameNodeUri()), conf);
+ JobConf jobConf = has.createJobConf(getNameNodeUri());
+ XConfiguration.copy(conf, jobConf);
+ fileSystem = has.createFileSystem(getTestUser(), getTestGroup(), new URI(getNameNodeUri()), jobConf);
Path path = new Path(fileSystem.getWorkingDirectory(), getTestCaseDir().substring(1));
fsTestDir = fileSystem.makeQualified(path);
System.out.println(XLog.format("Setting FS testcase work dir[{0}]", fsTestDir));
@@ -135,7 +136,7 @@ public abstract class XFsTestCase extend
* @throws HadoopAccessorException thrown if the JobClient could not be obtained.
*/
protected JobClient createJobClient() throws HadoopAccessorException {
- JobConf conf = new JobConf();
+ JobConf conf = has.createJobConf(getJobTrackerUri());
conf.set("mapred.job.tracker", getJobTrackerUri());
conf.set("fs.default.name", getNameNodeUri());
injectKerberosInfo(conf);
Modified: incubator/oozie/trunk/examples/src/test/java/org/apache/oozie/example/TestLocalOozieExample.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/examples/src/test/java/org/apache/oozie/example/TestLocalOozieExample.java?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/examples/src/test/java/org/apache/oozie/example/TestLocalOozieExample.java (original)
+++ incubator/oozie/trunk/examples/src/test/java/org/apache/oozie/example/TestLocalOozieExample.java Fri Mar 9 05:03:40 2012
@@ -69,7 +69,7 @@ public class TestLocalOozieExample exten
throw new RuntimeException(XLog.format("could not create path [{0}]", file.getAbsolutePath()));
}
//setting up Oozie HOME and an empty conf directory
- System.setProperty(Services.OOZIE_HOME_DIR, testCaseDir);
+ //System.setProperty(Services.OOZIE_HOME_DIR, testCaseDir);
}
@Override
Modified: incubator/oozie/trunk/release-log.txt
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/release-log.txt?rev=1298704&r1=1298703&r2=1298704&view=diff
==============================================================================
--- incubator/oozie/trunk/release-log.txt (original)
+++ incubator/oozie/trunk/release-log.txt Fri Mar 9 05:03:40 2012
@@ -1,5 +1,6 @@
-- Oozie 3.2.0 release
+OOZIE-746 JobConf/Configuration creation is inconsistent and makes things fail in odd ways (tucu)
OOZIE-744 HadoopAccessorService hadoop-configs loading logic is not 100% correct (tucu)
OOZIE-743 HadoopAccessorService hadoop configurations should not use VARs from properties defined oozie-site.xml (tucu)
OOZIE-742 getJobInfo for workflows should return workflow external id (Shwetha via Mohammad)