You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by rk...@apache.org on 2013/03/14 22:10:57 UTC
svn commit: r1456685 - in /oozie/trunk: ./
core/src/main/java/org/apache/oozie/action/oozie/
core/src/main/java/org/apache/oozie/command/wf/
core/src/test/java/org/apache/oozie/action/oozie/
Author: rkanter
Date: Thu Mar 14 21:10:57 2013
New Revision: 1456685
URL: http://svn.apache.org/r1456685
Log:
OOZIE-1264 The parent property of a subworkflow should be the ID of the parent workflow (rkanter)
Modified:
oozie/trunk/core/src/main/java/org/apache/oozie/action/oozie/SubWorkflowActionExecutor.java
oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SubmitXCommand.java
oozie/trunk/core/src/test/java/org/apache/oozie/action/oozie/TestSubWorkflowActionExecutor.java
oozie/trunk/release-log.txt
Modified: oozie/trunk/core/src/main/java/org/apache/oozie/action/oozie/SubWorkflowActionExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/action/oozie/SubWorkflowActionExecutor.java?rev=1456685&r1=1456684&r2=1456685&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/action/oozie/SubWorkflowActionExecutor.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/action/oozie/SubWorkflowActionExecutor.java Thu Mar 14 21:10:57 2013
@@ -47,6 +47,7 @@ import java.util.HashSet;
public class SubWorkflowActionExecutor extends ActionExecutor {
public static final String ACTION_TYPE = "sub-workflow";
public static final String LOCAL = "local";
+ public static final String PARENT_ID = "oozie.wf.parent.id";
private static final Set<String> DISALLOWED_DEFAULT_PROPERTIES = new HashSet<String>();
@@ -115,6 +116,10 @@ public class SubWorkflowActionExecutor e
conf.set(OozieClient.EXTERNAL_ID, externalId);
}
+ protected void injectParent(String parentId, Configuration conf) {
+ conf.set(PARENT_ID, parentId);
+ }
+
protected String checkIfRunning(OozieClient oozieClient, String extId) throws OozieClientException {
String jobId = oozieClient.getJobId(extId);
if (jobId.equals("")) {
@@ -156,6 +161,7 @@ public class SubWorkflowActionExecutor e
injectInline(eConf.getChild("configuration", ns), subWorkflowConf);
injectCallback(context, subWorkflowConf);
injectRecovery(extId, subWorkflowConf);
+ injectParent(context.getWorkflow().getId(), subWorkflowConf);
//TODO: this has to be refactored later to be done in a single place for REST calls and this
JobUtils.normalizeAppPath(context.getWorkflow().getUser(), context.getWorkflow().getGroup(),
Modified: oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SubmitXCommand.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SubmitXCommand.java?rev=1456685&r1=1456684&r2=1456685&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SubmitXCommand.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SubmitXCommand.java Thu Mar 14 21:10:57 2013
@@ -23,6 +23,7 @@ import org.apache.hadoop.fs.FileSystem;
import org.apache.oozie.SLAEventBean;
import org.apache.oozie.WorkflowJobBean;
import org.apache.oozie.ErrorCode;
+import org.apache.oozie.action.oozie.SubWorkflowActionExecutor;
import org.apache.oozie.service.HadoopAccessorException;
import org.apache.oozie.service.JPAService;
import org.apache.oozie.service.WorkflowStoreService;
@@ -189,6 +190,10 @@ public class SubmitXCommand extends Work
workflow.setAuthToken(authToken);
workflow.setWorkflowInstance(wfInstance);
workflow.setExternalId(conf.get(OozieClient.EXTERNAL_ID));
+ // Set parent id if it doesn't already have one (for subworkflows)
+ if (workflow.getParentId() == null) {
+ workflow.setParentId(conf.get(SubWorkflowActionExecutor.PARENT_ID));
+ }
LogUtils.setLogInfo(workflow, logInfo);
LOG = XLog.resetPrefix(LOG);
Modified: oozie/trunk/core/src/test/java/org/apache/oozie/action/oozie/TestSubWorkflowActionExecutor.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/test/java/org/apache/oozie/action/oozie/TestSubWorkflowActionExecutor.java?rev=1456685&r1=1456684&r2=1456685&view=diff
==============================================================================
--- oozie/trunk/core/src/test/java/org/apache/oozie/action/oozie/TestSubWorkflowActionExecutor.java (original)
+++ oozie/trunk/core/src/test/java/org/apache/oozie/action/oozie/TestSubWorkflowActionExecutor.java Thu Mar 14 21:10:57 2013
@@ -115,6 +115,7 @@ public class TestSubWorkflowActionExecut
assertEquals(WorkflowAction.Status.OK, action.getStatus());
+ assertEquals(workflow.getId(), oozieClient.getJobInfo(action.getExternalId()).getParentId());
}
public void testSubWorkflowRecovery() throws Exception {
@@ -149,6 +150,7 @@ public class TestSubWorkflowActionExecut
}
});
String extId = action.getExternalId();
+ assertEquals(workflow.getId(), oozieClient.getJobInfo(extId).getParentId());
assertEquals(WorkflowJob.Status.SUCCEEDED, oozieClient.getJobInfo(extId).getStatus());
WorkflowActionBean action1 = new WorkflowActionBean();
action1.setId(action.getId());
@@ -164,6 +166,7 @@ public class TestSubWorkflowActionExecut
"</sub-workflow>");
subWorkflow.start(new Context(workflow, action1), action1);
assertEquals(extId, action1.getExternalId());
+ assertEquals(workflow.getId(), oozieClient.getJobInfo(extId).getParentId());
subWorkflow.check(new Context(workflow, action1), action1);
assertEquals(WorkflowAction.Status.DONE, action1.getStatus());
subWorkflow.end(new Context(workflow, action1), action1);
Modified: oozie/trunk/release-log.txt
URL: http://svn.apache.org/viewvc/oozie/trunk/release-log.txt?rev=1456685&r1=1456684&r2=1456685&view=diff
==============================================================================
--- oozie/trunk/release-log.txt (original)
+++ oozie/trunk/release-log.txt Thu Mar 14 21:10:57 2013
@@ -1,5 +1,6 @@
-- Oozie 4.1.0 release (trunk - unreleased)
+OOZIE-1264 The "parent" property of a subworkflow should be the ID of the parent workflow (rkanter)
OOZIE-1245 Add ability to automatically suspend workflow at specified actions (rkanter)
OOZIE-894 support for hive in Oozie CLI (bowenzhangusa via tucu)
OOZIE-1239 Bump up trunk to 4.1.0-SNAPSHOT (virag)