You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by vi...@apache.org on 2012/12/14 01:12:26 UTC
svn commit: r1421624 - in /oozie/branches/branch-3.3: ./
core/src/main/java/org/apache/oozie/workflow/lite/
Author: virag
Date: Fri Dec 14 00:12:24 2012
New Revision: 1421624
URL: http://svn.apache.org/viewvc?rev=1421624&view=rev
Log:
OOZIE-1130 Upgrade from 3.2 to 3.3 failing due to change in WorkflowInstance structure (virag)
Modified:
oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/EndNodeDef.java
oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/ForkNodeDef.java
oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/JoinNodeDef.java
oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/KillNodeDef.java
oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/StartNodeDef.java
oozie/branches/branch-3.3/release-log.txt
Modified: oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/EndNodeDef.java
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/EndNodeDef.java?rev=1421624&r1=1421623&r2=1421624&view=diff
==============================================================================
--- oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/EndNodeDef.java (original)
+++ oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/EndNodeDef.java Fri Dec 14 00:12:24 2012
@@ -32,4 +32,23 @@ public class EndNodeDef extends ControlN
super(name, "", klass, Collections.EMPTY_LIST);
}
+ public static class EndNodeHandler extends NodeHandler {
+
+ public boolean enter(Context context) {
+ return true;
+ }
+
+ public String exit(Context context) {
+ context.completeJob();
+ return null;
+ }
+
+ public void kill(Context context) {
+ }
+
+ public void fail(Context context) {
+ }
+
+ }
+
}
Modified: oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/ForkNodeDef.java
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/ForkNodeDef.java?rev=1421624&r1=1421623&r2=1421624&view=diff
==============================================================================
--- oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/ForkNodeDef.java (original)
+++ oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/ForkNodeDef.java Fri Dec 14 00:12:24 2012
@@ -17,6 +17,7 @@
*/
package org.apache.oozie.workflow.lite;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -32,4 +33,37 @@ public class ForkNodeDef extends Control
super(name, "", klass, transitions);
}
+ public static class ForkNodeHandler extends NodeHandler {
+
+ public boolean enter(Context context) {
+ return true;
+ }
+
+ // the return list contains (parentExecutionPath/transition#transition)+
+ public List<String> multiExit(Context context) {
+ List<String> transitions = context.getNodeDef().getTransitions();
+ context.setVar(ControlNodeHandler.FORK_COUNT_PREFIX + context.getExecutionPath(), "" + transitions.size());
+
+ List<String> fullTransitions = new ArrayList<String>(transitions.size());
+
+ for (String transition : transitions) {
+ String childExecutionPath = context.createExecutionPath(transition);
+ String fullTransition = context.createFullTransition(childExecutionPath, transition);
+ fullTransitions.add(fullTransition);
+ }
+ return fullTransitions;
+ }
+
+ public String exit(Context context) {
+ throw new UnsupportedOperationException();
+ }
+
+ public void kill(Context context) {
+ }
+
+ public void fail(Context context) {
+ }
+
+ }
+
}
Modified: oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/JoinNodeDef.java
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/JoinNodeDef.java?rev=1421624&r1=1421623&r2=1421624&view=diff
==============================================================================
--- oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/JoinNodeDef.java (original)
+++ oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/JoinNodeDef.java Fri Dec 14 00:12:24 2012
@@ -17,7 +17,12 @@
*/
package org.apache.oozie.workflow.lite;
+import java.util.ArrayList;
import java.util.Arrays;
+import java.util.List;
+
+import org.apache.oozie.ErrorCode;
+import org.apache.oozie.workflow.WorkflowException;
/**
* Node definition for JOIN control node.
@@ -31,4 +36,61 @@ public class JoinNodeDef extends Control
super(name, "", klass, Arrays.asList(transition));
}
+ public static class JoinNodeHandler extends NodeHandler {
+
+ public void loopDetection(Context context) throws WorkflowException {
+ String flag = getLoopFlag(context.getNodeDef().getName());
+ if (context.getVar(flag) != null) {
+ throw new WorkflowException(ErrorCode.E0709, context.getNodeDef().getName());
+ }
+ String parentExecutionPath = context.getParentExecutionPath(context.getExecutionPath());
+ String forkCount = context.getVar(ControlNodeHandler.FORK_COUNT_PREFIX + parentExecutionPath);
+ if (forkCount == null) {
+ throw new WorkflowException(ErrorCode.E0720, context.getNodeDef().getName());
+ }
+ int count = Integer.parseInt(forkCount) - 1;
+ if (count == 0) {
+ context.setVar(flag, "true");
+ }
+ }
+
+ public boolean enter(Context context) throws WorkflowException {
+ String parentExecutionPath = context.getParentExecutionPath(context.getExecutionPath());
+ String forkCount = context.getVar(ControlNodeHandler.FORK_COUNT_PREFIX + parentExecutionPath);
+ if (forkCount == null) {
+ throw new WorkflowException(ErrorCode.E0720, context.getNodeDef().getName());
+ }
+ int count = Integer.parseInt(forkCount) - 1;
+ if (count > 0) {
+ context.setVar(ControlNodeHandler.FORK_COUNT_PREFIX + parentExecutionPath, "" + count);
+ context.deleteExecutionPath();
+ }
+ else {
+ context.setVar(ControlNodeHandler.FORK_COUNT_PREFIX + parentExecutionPath, null);
+ }
+ return (count == 0);
+ }
+
+ public List<String> multiExit(Context context) {
+ String parentExecutionPath = context.getParentExecutionPath(context.getExecutionPath());
+ // NOW we delete..
+ context.deleteExecutionPath();
+
+ String transition = context.getNodeDef().getTransitions().get(0);
+ String fullTransition = context.createFullTransition(parentExecutionPath, transition);
+ List<String> transitions = new ArrayList<String>(1);
+ transitions.add(fullTransition);
+ return transitions;
+ }
+
+ public String exit(Context context) {
+ throw new UnsupportedOperationException();
+ }
+
+ public void kill(Context context) {
+ }
+
+ public void fail(Context context) {
+ }
+ }
}
Modified: oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/KillNodeDef.java
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/KillNodeDef.java?rev=1421624&r1=1421623&r2=1421624&view=diff
==============================================================================
--- oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/KillNodeDef.java (original)
+++ oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/KillNodeDef.java Fri Dec 14 00:12:24 2012
@@ -32,4 +32,22 @@ public class KillNodeDef extends Control
super(name, message, klass, Collections.EMPTY_LIST);
}
+ public static class KillNodeHandler extends NodeHandler {
+
+ public boolean enter(Context context) {
+ return true;
+ }
+
+ public String exit(Context context) {
+ context.killJob();
+ return null;
+ }
+
+ public void kill(Context context) {
+ }
+
+ public void fail(Context context) {
+ }
+ }
+
}
Modified: oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/StartNodeDef.java
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/StartNodeDef.java?rev=1421624&r1=1421623&r2=1421624&view=diff
==============================================================================
--- oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/StartNodeDef.java (original)
+++ oozie/branches/branch-3.3/core/src/main/java/org/apache/oozie/workflow/lite/StartNodeDef.java Fri Dec 14 00:12:24 2012
@@ -18,7 +18,9 @@
package org.apache.oozie.workflow.lite;
+import org.apache.oozie.ErrorCode;
import org.apache.oozie.util.ParamChecker;
+import org.apache.oozie.workflow.WorkflowException;
import java.util.Arrays;
@@ -48,4 +50,27 @@ public class StartNodeDef extends Contro
super(START, "", klass, Arrays.asList(ParamChecker.notEmpty(transitionTo, "transitionTo")));
}
+ /**
+ * Start node handler. <p/> It does an immediate transition to the transitionTo node.
+ */
+ public static class StartNodeHandler extends NodeHandler {
+
+ public boolean enter(Context context) throws WorkflowException {
+ if (!context.getSignalValue().equals(StartNodeDef.START)) {
+ throw new WorkflowException(ErrorCode.E0715, context.getSignalValue());
+ }
+ return true;
+ }
+
+ public String exit(Context context) {
+ return context.getNodeDef().getTransitions().get(0);
+ }
+
+ public void kill(Context context) {
+ }
+
+ public void fail(Context context) {
+ }
+ }
+
}
Modified: oozie/branches/branch-3.3/release-log.txt
URL: http://svn.apache.org/viewvc/oozie/branches/branch-3.3/release-log.txt?rev=1421624&r1=1421623&r2=1421624&view=diff
==============================================================================
--- oozie/branches/branch-3.3/release-log.txt (original)
+++ oozie/branches/branch-3.3/release-log.txt Fri Dec 14 00:12:24 2012
@@ -1,5 +1,6 @@
-- Oozie 3.3.1 (unreleased)
+OOZIE-1130 Upgrade from 3.2 to 3.3 failing due to change in WorkflowInstance structure (virag)
OOZIE-1128 When a user submitting a job is not UNDEF in the request, it should use that user as the submitter (tucu)
OOZIE-1091 workflow functional spec, fs action related issues (virag)
OOZIE-1116 Create hbaselibs module (virag)