You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by ry...@apache.org on 2014/10/07 23:09:14 UTC

[27/50] [abbrv] git commit: OOZIE-1653 Support ALL to allowed error code of the user retry (seoeun25 via rkanter)

OOZIE-1653 Support ALL to allowed error code of the user retry (seoeun25 via rkanter)


Project: http://git-wip-us.apache.org/repos/asf/oozie/repo
Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/60212d4d
Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/60212d4d
Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/60212d4d

Branch: refs/remotes/trunk
Commit: 60212d4d2022c11cd09eaa26b5cc57bb334c694e
Parents: bb9a6da
Author: Robert Kanter <rk...@cloudera.com>
Authored: Fri Sep 5 13:05:03 2014 -0700
Committer: Robert Kanter <rk...@cloudera.com>
Committed: Fri Sep 5 13:05:03 2014 -0700

----------------------------------------------------------------------
 .../apache/oozie/command/wf/ActionXCommand.java |  3 ++-
 .../oozie/service/LiteWorkflowStoreService.java |  2 ++
 core/src/main/resources/oozie-default.xml       |  4 +++-
 .../service/TestLiteWorkflowStoreService.java   | 22 ++++++++++++++++++++
 release-log.txt                                 |  1 +
 5 files changed, 30 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oozie/blob/60212d4d/core/src/main/java/org/apache/oozie/command/wf/ActionXCommand.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/oozie/command/wf/ActionXCommand.java b/core/src/main/java/org/apache/oozie/command/wf/ActionXCommand.java
index 405d712..98fddfd 100644
--- a/core/src/main/java/org/apache/oozie/command/wf/ActionXCommand.java
+++ b/core/src/main/java/org/apache/oozie/command/wf/ActionXCommand.java
@@ -216,7 +216,8 @@ public abstract class ActionXCommand<T> extends WorkflowXCommand<Void> {
         String errorCode = action.getErrorCode();
         Set<String> allowedRetryCode = LiteWorkflowStoreService.getUserRetryErrorCode();
 
-        if (allowedRetryCode.contains(errorCode) && action.getUserRetryCount() < action.getUserRetryMax()) {
+        if ((allowedRetryCode.contains(LiteWorkflowStoreService.USER_ERROR_CODE_ALL) || allowedRetryCode.contains(errorCode))
+                && action.getUserRetryCount() < action.getUserRetryMax()) {
             LOG.info("Preparing retry this action [{0}], errorCode [{1}], userRetryCount [{2}], "
                     + "userRetryMax [{3}], userRetryInterval [{4}]", action.getId(), errorCode, action
                     .getUserRetryCount(), action.getUserRetryMax(), action.getUserRetryInterval());

http://git-wip-us.apache.org/repos/asf/oozie/blob/60212d4d/core/src/main/java/org/apache/oozie/service/LiteWorkflowStoreService.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/oozie/service/LiteWorkflowStoreService.java b/core/src/main/java/org/apache/oozie/service/LiteWorkflowStoreService.java
index bab32c6..8a7017e 100644
--- a/core/src/main/java/org/apache/oozie/service/LiteWorkflowStoreService.java
+++ b/core/src/main/java/org/apache/oozie/service/LiteWorkflowStoreService.java
@@ -67,6 +67,8 @@ public abstract class LiteWorkflowStoreService extends WorkflowStoreService {
     public static final String NODE_DEF_VERSION_1 = "_oozie_inst_v_1";
     public static final String CONF_NODE_DEF_VERSION = CONF_PREFIX + "node.def.version";
 
+    public static final String USER_ERROR_CODE_ALL = "ALL";
+
     /**
      * Delegation method used by the Action and Decision {@link NodeHandler} on start. <p/> This method provides the
      * necessary information to create ActionExecutors.

http://git-wip-us.apache.org/repos/asf/oozie/blob/60212d4d/core/src/main/resources/oozie-default.xml
----------------------------------------------------------------------
diff --git a/core/src/main/resources/oozie-default.xml b/core/src/main/resources/oozie-default.xml
index 3a957d0..a5ccd3c 100644
--- a/core/src/main/resources/oozie-default.xml
+++ b/core/src/main/resources/oozie-default.xml
@@ -1782,6 +1782,7 @@
             JA017 is job not exists error in action executor.
             JA008 is FileNotFoundException in action executor.
             JA009 is IOException in action executor.
+            ALL is the any kind of error in action executor.
         </description>
     </property>
     
@@ -1789,7 +1790,8 @@
         <name>oozie.service.LiteWorkflowStoreService.user.retry.error.code.ext</name>
         <value> </value>
         <description>
-            Automatic retry interval for workflow action is handled for these specified extra error code.
+            Automatic retry interval for workflow action is handled for these specified extra error code:
+            ALL is the any kind of error in action executor.
         </description>
     </property>
     

http://git-wip-us.apache.org/repos/asf/oozie/blob/60212d4d/core/src/test/java/org/apache/oozie/service/TestLiteWorkflowStoreService.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/oozie/service/TestLiteWorkflowStoreService.java b/core/src/test/java/org/apache/oozie/service/TestLiteWorkflowStoreService.java
index c0a8bbe..1eda445 100644
--- a/core/src/test/java/org/apache/oozie/service/TestLiteWorkflowStoreService.java
+++ b/core/src/test/java/org/apache/oozie/service/TestLiteWorkflowStoreService.java
@@ -60,5 +60,27 @@ public class TestLiteWorkflowStoreService extends XTestCase {
         assertTrue(allowedRetryCodes.contains(ForTestingActionExecutor.TEST_ERROR));   
     }
 
+    public void testRetryAllErrorCode() throws Exception {
+        String errorCodeWithWhitespaces = "\n\t\t" + ForTestingActionExecutor.TEST_ERROR + "," +
+                LiteWorkflowStoreService.USER_ERROR_CODE_ALL + "\n  ";
+        Configuration testConf = Services.get().get(ConfigurationService.class).getConf();
+        // Setting configuration parameter for retry.error.code
+        testConf.set(LiteWorkflowStoreService.CONF_USER_RETRY_ERROR_CODE, errorCodeWithWhitespaces);
+        Set<String> allowedRetryCodes = LiteWorkflowStoreService.getUserRetryErrorCode();
+        assertTrue(allowedRetryCodes.contains(ForTestingActionExecutor.TEST_ERROR));
+        assertTrue(allowedRetryCodes.contains(LiteWorkflowStoreService.USER_ERROR_CODE_ALL));
+
+        // Setting configuration parameter for retry.error.code and retry.error.code.ext
+        testConf.set(LiteWorkflowStoreService.CONF_USER_RETRY_ERROR_CODE_EXT, "ALL");
+        allowedRetryCodes = LiteWorkflowStoreService.getUserRetryErrorCode();
+        assertTrue(allowedRetryCodes.contains(ForTestingActionExecutor.TEST_ERROR));
+        assertTrue(allowedRetryCodes.contains(LiteWorkflowStoreService.USER_ERROR_CODE_ALL));
+
+        testConf.set(LiteWorkflowStoreService.CONF_USER_RETRY_ERROR_CODE, " ");
+        testConf.set(LiteWorkflowStoreService.CONF_USER_RETRY_ERROR_CODE_EXT, "ALL");
+        allowedRetryCodes = LiteWorkflowStoreService.getUserRetryErrorCode();
+        assertTrue(allowedRetryCodes.contains(LiteWorkflowStoreService.USER_ERROR_CODE_ALL));
+    }
+
 
 }

http://git-wip-us.apache.org/repos/asf/oozie/blob/60212d4d/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index bcd098c..0435249 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 4.2.0 release (trunk - unreleased)
 
+OOZIE-1653 Support ALL to allowed error code of the user retry (seoeun25 via rkanter)
 OOZIE-1923 ZKLocksService locks are not re-entrant like MemoryLocks (puru)
 OOZIE-1843 Bulk update for coord last modified time for CoordMaterializeTriggerService (puru)
 OOZIE-1941 Bundle coordinator name can't be parameterized (puru)