> On 2011-11-04 06:54:19, Mohammad Islam wrote: > > Alejandro, > > Can you please give us some more explanation (broad picture) such us > > 1. why do we need lite2? what are the shortcoming of existing lite WF? > > 2. Also some high-level design idea, to understand this big change quickly. > > Regards, > > Mohammad
Mohammad, As I've mentioned in the parent JIRA (OOZIE-592): ------------------------------------------------------------------------ Current WF library implementation (lite) has the following issues/limitations: * Under certain conditions kill/failure all running actions are not being properly killed (leaving things in odd states and/or runaway actions) * Exceptions are properly propagated handled * start/end/kill/fork/join nodes do not provide hooks to create entries in the DB in the WF actions table (useful for WF visualization) In addition, the following new features would allow more flexible WF programming: * support for a SUSPEND node, to programmatically suspend a WF in certain condition. * support for SHARD/UNSHARD nodes, similar to FORK/JOIN but it is a single execution lane that gets multiplexed N times ------------------------------------------------------------------------ Furthermore, initially I've tried to work on the existing WF lite, but I've found quite difficult to add some of this new functionality in the existing signal logic. Because of that I've started from scratch copying over much of the code from WF lite. - Alejandro ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/2715/#review3045 ----------------------------------------------------------- On 2011-11-03 17:33:51, Alejandro Abdelnur wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/2715/ > ----------------------------------------------------------- > > (Updated 2011-11-03 17:33:51) > > > Review request for oozie. > > > Summary > ------- > > WF lite2 implementation with testcases > > > This addresses bug OOZIE-593. > https://issues.apache.org/jira/browse/OOZIE-593 > > > Diffs > ----- > > /trunk/core/pom.xml 1197198 > /trunk/core/src/main/java/org/apache/oozie/ErrorCode.java 1197198 > /trunk/core/src/main/java/org/apache/oozie/util/JSON.java PRE-CREATION > /trunk/core/src/main/java/org/apache/oozie/util/JSONException.java > PRE-CREATION > /trunk/core/src/main/java/org/apache/oozie/util/StringUtils.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/ActionNodeHandler.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/DecisionNodeHandler.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/EndNodeHandler.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/ForkNodeHandler.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/JoinNodeHandler.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/KillNodeHandler.java > PRE-CREATION > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/NodeDef.java > PRE-CREATION > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/NodeDefJSON.java > PRE-CREATION > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/NodeHandler.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/NodeHandlerContext.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/NodeHandlerException.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/ShardNodeHandler.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/StartNodeHandler.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/SuspendNodeHandler.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/UnshardNodeHandler.java > PRE-CREATION > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/Workflow.java > PRE-CREATION > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/WorkflowApp.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/WorkflowAppJSON.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/WorkflowAppParser.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/WorkflowException.java > PRE-CREATION > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/WorkflowJSON.java > PRE-CREATION > > /trunk/core/src/main/java/org/apache/oozie/workflow/lite2/WorkflowListener.java > PRE-CREATION > /trunk/core/src/test/java/org/apache/oozie/test/TestException.java > PRE-CREATION > /trunk/core/src/test/java/org/apache/oozie/test/TestExceptionHelper.java > PRE-CREATION > /trunk/core/src/test/java/org/apache/oozie/test/XTest.java PRE-CREATION > /trunk/core/src/test/java/org/apache/oozie/util/TestJSON.java PRE-CREATION > /trunk/core/src/test/java/org/apache/oozie/util/TestJSONException.java > PRE-CREATION > /trunk/core/src/test/java/org/apache/oozie/util/TestStringUtils.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestActionNodeHandler.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestDecisionNodeHandler.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestEndNodeHandler.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestForkNodeHandler.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestJoinNodeHandler.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestKillNodeHandler.java > PRE-CREATION > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestNodeDef.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestNodeDefJSON.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestNodeHandler.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestNodeHandlerContext.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestNodeHandlerException.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestShardNodeHandler.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestStartNodeHandler.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestSuspendNodeHandler.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestUnshardNodeHandler.java > PRE-CREATION > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestWorkflow.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestWorkflowApp.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestWorkflowAppJSON.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestWorkflowAppParser.java > PRE-CREATION > > /trunk/core/src/test/java/org/apache/oozie/workflow/lite2/TestWorkflowJSON.java > PRE-CREATION > /trunk/pom.xml 1197198 > > Diff: https://reviews.apache.org/r/2715/diff > > > Testing > ------- > > it includes testcase with full coverage > > > Thanks, > > Alejandro > >
