You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by mo...@apache.org on 2013/09/18 01:09:07 UTC

svn commit: r1524249 - in /oozie/trunk/core/src/main/java/org/apache/oozie: command/wf/SignalXCommand.java workflow/lite/LiteWorkflowInstance.java

Author: mona
Date: Tue Sep 17 23:09:07 2013
New Revision: 1524249

URL: http://svn.apache.org/r1524249
Log:
Fork-join mismatch makes workflow Failed but some actions stay Running (mona)

Modified:
    oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SignalXCommand.java
    oozie/trunk/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowInstance.java

Modified: oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SignalXCommand.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SignalXCommand.java?rev=1524249&r1=1524248&r2=1524249&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SignalXCommand.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/command/wf/SignalXCommand.java Tue Sep 17 23:09:07 2013
@@ -184,6 +184,7 @@ public class SignalXCommand extends Work
             }
             catch (WorkflowException e) {
                 wfJob.setStatus(WorkflowJob.Status.valueOf(workflowInstance.getStatus().toString()));
+                completed = true;
             }
             wfJob.setWorkflowInstance(workflowInstance);
             wfAction.resetPending();

Modified: oozie/trunk/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowInstance.java
URL: http://svn.apache.org/viewvc/oozie/trunk/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowInstance.java?rev=1524249&r1=1524248&r2=1524249&view=diff
==============================================================================
--- oozie/trunk/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowInstance.java (original)
+++ oozie/trunk/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowInstance.java Tue Sep 17 23:09:07 2013
@@ -6,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -209,6 +209,11 @@ public class LiteWorkflowInstance implem
                 }
                 catch (WorkflowException ex) {
                     status = Status.FAILED;
+                    List<String> killedNodes = terminateNodes(Status.KILLED);
+                    if (killedNodes.size() > 1) {
+                        log.warn(XLog.STD, "Workflow completed [{0}], killing [{1}] running nodes", status, killedNodes
+                                .size());
+                    }
                     throw ex;
                 }
             }