Repository: oozie
Updated Branches:
  refs/heads/master 67a120ee7 -> 3badb2d0b


OOZIE-2009 Requeue CoordActionInputCheck in case of permission error (ryota)


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

Branch: refs/heads/master
Commit: 3badb2d0b5be6ee5ca22fe68ccde07abcc02c5c7
Parents: 67a120e
Author: egashira <[email protected]>
Authored: Wed Oct 15 13:34:31 2014 -0700
Committer: egashira <[email protected]>
Committed: Wed Oct 15 13:34:31 2014 -0700

----------------------------------------------------------------------
 .../coord/CoordActionInputCheckXCommand.java    | 27 ++++++++++++++++++--
 release-log.txt                                 |  1 +
 2 files changed, 26 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oozie/blob/3badb2d0/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
 
b/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
index 98fa169..b26c1e2 100644
--- 
a/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
+++ 
b/core/src/main/java/org/apache/oozie/command/coord/CoordActionInputCheckXCommand.java
@@ -28,6 +28,7 @@ import java.util.Date;
 import java.util.List;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.security.AccessControlException;
 import org.apache.oozie.CoordinatorActionBean;
 import org.apache.oozie.CoordinatorJobBean;
 import org.apache.oozie.ErrorCode;
@@ -253,6 +254,22 @@ public class CoordActionInputCheckXCommand extends 
CoordinatorXCommand<Void> {
                 updateCoordAction(coordAction, isChangeInDependency);
             }
         }
+        catch (AccessControlException e) {
+            LOG.error("Permission error in ActionInputCheck", e);
+            if (isTimeout(currentTime)) {
+                LOG.debug("Queueing timeout command");
+                Services.get().get(CallableQueueService.class)
+                        .queue(new CoordActionTimeOutXCommand(coordAction, 
coordJob.getUser(), coordJob.getAppName()));
+            }
+            else {
+                // Requeue InputCheckCommand for permission denied error with 
longer interval
+                Services.get()
+                        .get(CallableQueueService.class)
+                        .queue(new 
CoordActionInputCheckXCommand(coordAction.getId(), coordAction.getJobId()),
+                                2 * getCoordInputCheckRequeueInterval());
+            }
+            updateCoordAction(coordAction, isChangeInDependency);
+        }
         catch (Exception e) {
             if (isTimeout(currentTime)) {
                 LOG.debug("Queueing timeout command");
@@ -567,8 +584,14 @@ public class CoordActionInputCheckXCommand extends 
CoordinatorXCommand<Void> {
         catch (URIHandlerException e) {
             coordAction.setErrorCode(e.getErrorCode().toString());
             coordAction.setErrorMessage(e.getMessage());
-            throw new IOException(e);
-        } catch (URISyntaxException e) {
+            if (e.getCause() != null && e.getCause() instanceof 
AccessControlException) {
+                throw (AccessControlException) e.getCause();
+            }
+            else {
+                throw new IOException(e);
+            }
+        }
+        catch (URISyntaxException e) {
             coordAction.setErrorCode(ErrorCode.E0906.toString());
             coordAction.setErrorMessage(e.getMessage());
             throw new IOException(e);

http://git-wip-us.apache.org/repos/asf/oozie/blob/3badb2d0/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 9e8e9bf..353174c 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 4.2.0 release (trunk - unreleased)
 
+OOZIE-2009 Requeue CoordActionInputCheck in case of permission error (ryota)
 OOZIE-2005 Coordinator rerun fails to initialize error code and message (ryota)
 OOZIE-1896 ZKUUIDService - Too many job submission fails (puru)
 OOZIE-2019 SLA miss processed on server2 not send email (puru)

Reply via email to