Author: kamrul
Date: Tue Apr 17 00:43:34 2012
New Revision: 1326844
URL: http://svn.apache.org/viewvc?rev=1326844&view=rev
Log:
OOZIE-813 Sub-workflow child job does not get group name even if parent
carries.(Mona via Mohammad)
Modified:
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/oozie/SubWorkflowActionExecutor.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/oozie/TestSubWorkflowActionExecutor.java
incubator/oozie/trunk/release-log.txt
Modified:
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/oozie/SubWorkflowActionExecutor.java
URL:
http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/oozie/SubWorkflowActionExecutor.java?rev=1326844&r1=1326843&r2=1326844&view=diff
==============================================================================
---
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/oozie/SubWorkflowActionExecutor.java
(original)
+++
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/oozie/SubWorkflowActionExecutor.java
Tue Apr 17 00:43:34 2012
@@ -24,11 +24,11 @@ import org.apache.oozie.DagEngine;
import org.apache.oozie.LocalOozieClient;
import org.apache.oozie.WorkflowJobBean;
import org.apache.oozie.service.DagEngineService;
-import org.apache.oozie.service.WorkflowAppService;
import org.apache.oozie.client.WorkflowAction;
import org.apache.oozie.client.OozieClient;
import org.apache.oozie.client.WorkflowJob;
import org.apache.oozie.command.CommandException;
+import org.apache.oozie.util.ConfigUtils;
import org.apache.oozie.util.JobUtils;
import org.apache.oozie.util.PropertiesUtils;
import org.apache.oozie.util.XmlUtils;
@@ -140,8 +140,8 @@ public class SubWorkflowActionExecutor e
String appPath = eConf.getChild("app-path", ns).getTextTrim();
XConfiguration subWorkflowConf = new XConfiguration();
+ Configuration parentConf = new XConfiguration(new
StringReader(context.getWorkflow().getConf()));
if (eConf.getChild(("propagate-configuration"), ns) != null) {
- Configuration parentConf = new XConfiguration(new
StringReader(context.getWorkflow().getConf()));
XConfiguration.copy(parentConf, subWorkflowConf);
}
@@ -149,6 +149,10 @@ public class SubWorkflowActionExecutor e
Configuration protoActionConf = context.getProtoActionConf();
XConfiguration.copy(protoActionConf, subWorkflowConf);
subWorkflowConf.set(OozieClient.APP_PATH, appPath);
+ String group = ConfigUtils.getWithDeprecatedCheck(parentConf,
OozieClient.JOB_ACL, OozieClient.GROUP_NAME, null);
+ if(group != null) {
+ subWorkflowConf.set(OozieClient.GROUP_NAME, group);
+ }
injectInline(eConf.getChild("configuration", ns),
subWorkflowConf);
injectCallback(context, subWorkflowConf);
injectRecovery(extId, subWorkflowConf);
Modified:
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/oozie/TestSubWorkflowActionExecutor.java
URL:
http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/oozie/TestSubWorkflowActionExecutor.java?rev=1326844&r1=1326843&r2=1326844&view=diff
==============================================================================
---
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/oozie/TestSubWorkflowActionExecutor.java
(original)
+++
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/oozie/TestSubWorkflowActionExecutor.java
Tue Apr 17 00:43:34 2012
@@ -221,6 +221,69 @@ public class TestSubWorkflowActionExecut
assertEquals("xyz", childConf.get("abc"));
}
+ public void testGetGroupFromParent() throws Exception {
+ Path subWorkflowAppPath = getFsTestCaseDir();
+ FileSystem fs = getFileSystem();
+ Writer writer = new OutputStreamWriter(fs.create(new
Path(subWorkflowAppPath, "workflow.xml")));
+ writer.write(APP1);
+ writer.close();
+
+ XConfiguration protoConf = getBaseProtoConf();
+ WorkflowJobBean workflow = createBaseWorkflow(protoConf, "W");
+ String defaultConf = workflow.getConf();
+ XConfiguration newConf = new XConfiguration(new
StringReader(defaultConf));
+ String actionConf = "<sub-workflow xmlns='uri:oozie:workflow:0.1'
name='subwf'>" +
+ " <app-path>" + subWorkflowAppPath + File.separator +
"workflow.xml" + "</app-path>" +
+ " <configuration>" +
+ " <property>" +
+ " <name>a</name>" +
+ " <value>A</value>" +
+ " </property>" +
+ " </configuration>" +
+ "</sub-workflow>";
+
+ final WorkflowActionBean action = (WorkflowActionBean)
workflow.getActions().get(0);
+ action.setConf(actionConf);
+
+ // negative test
+ SubWorkflowActionExecutor subWorkflow = new
SubWorkflowActionExecutor();
+ workflow.setConf(newConf.toXmlString());
+
+ subWorkflow.start(new Context(workflow, action), action);
+
+ OozieClient oozieClient = subWorkflow.getWorkflowClient(new
Context(workflow, action),
+
SubWorkflowActionExecutor.LOCAL);
+
+ subWorkflow.check(new Context(workflow, action), action);
+ subWorkflow.end(new Context(workflow, action), action);
+
+ assertEquals(WorkflowAction.Status.OK, action.getStatus());
+
+ WorkflowJob wf = oozieClient.getJobInfo(action.getExternalId());
+ Configuration childConf = new XConfiguration(new
StringReader(wf.getConf()));
+
+ assertFalse(getTestGroup() == childConf.get(OozieClient.GROUP_NAME));
+
+ // positive test
+ newConf.set(OozieClient.GROUP_NAME, getTestGroup());
+ workflow.setConf(newConf.toXmlString());
+ WorkflowActionBean action1 = new WorkflowActionBean();
+ action1.setConf(actionConf);
+ action1.setId("W1");
+
+ subWorkflow.start(new Context(workflow, action1), action1);
+
+ oozieClient = subWorkflow.getWorkflowClient(new Context(workflow,
action1),
+
SubWorkflowActionExecutor.LOCAL);
+
+ subWorkflow.check(new Context(workflow, action1), action1);
+ subWorkflow.end(new Context(workflow, action1), action1);
+
+ wf = oozieClient.getJobInfo(action1.getExternalId());
+ childConf = new XConfiguration(new StringReader(wf.getConf()));
+ assertEquals(getTestGroup(), childConf.get(OozieClient.GROUP_NAME));
+ }
+
public void testConfigNotPropagation() throws Exception {
Path subWorkflowAppPath = getFsTestCaseDir();
FileSystem fs = getFileSystem();
Modified: incubator/oozie/trunk/release-log.txt
URL:
http://svn.apache.org/viewvc/incubator/oozie/trunk/release-log.txt?rev=1326844&r1=1326843&r2=1326844&view=diff
==============================================================================
--- incubator/oozie/trunk/release-log.txt (original)
+++ incubator/oozie/trunk/release-log.txt Tue Apr 17 00:43:34 2012
@@ -1,5 +1,6 @@
-- Oozie 3.2.0 release
+OOZIE-813 Sub-workflow child job does not get group name even if parent
carries.(Mona via Mohammad)
OOZIE-791: coord job status not updated to done_with_error after kill(Virag
via Mohammad)
OOZIE-804 TestDecisionActionExecutor failing due to uninitialized conf.(Virag
via Mohammad)
OOZIE-805 TestCoordSubmitX failing(Virag via Mohamamd).