Repository: oozie
Updated Branches:
  refs/heads/branch-4.1 c1a277dcc -> 9164c0163


OOZIE-1957 Coord update command override group when 
oozie.service.AuthorizationService.default.group.as.acl is set and group/acl is 
not configured in job property


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

Branch: refs/heads/branch-4.1
Commit: 9164c01636818614eb691035523c9cbf4b550fca
Parents: c1a277d
Author: Purshotam Shah <[email protected]>
Authored: Tue Sep 9 13:56:14 2014 -0700
Committer: Purshotam Shah <[email protected]>
Committed: Tue Sep 9 13:56:14 2014 -0700

----------------------------------------------------------------------
 .../oozie/command/coord/CoordUpdateXCommand.java      |  2 +-
 .../java/org/apache/oozie/servlet/BaseJobServlet.java | 14 ++++++++++++--
 .../java/org/apache/oozie/servlet/V0JobServlet.java   |  4 ++--
 .../java/org/apache/oozie/servlet/V1JobServlet.java   |  4 ++--
 .../java/org/apache/oozie/servlet/V2JobServlet.java   |  6 ++----
 release-log.txt                                       |  1 +
 6 files changed, 20 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oozie/blob/9164c016/core/src/main/java/org/apache/oozie/command/coord/CoordUpdateXCommand.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/oozie/command/coord/CoordUpdateXCommand.java 
b/core/src/main/java/org/apache/oozie/command/coord/CoordUpdateXCommand.java
index d6e47da..ca5be3d 100644
--- a/core/src/main/java/org/apache/oozie/command/coord/CoordUpdateXCommand.java
+++ b/core/src/main/java/org/apache/oozie/command/coord/CoordUpdateXCommand.java
@@ -117,7 +117,7 @@ public class CoordUpdateXCommand extends 
CoordSubmitXCommand {
         LogUtils.setLogInfo(oldCoordJob, logInfo);
         if (!isConfChange) {
             try {
-                conf = new XConfiguration(new 
StringReader(coordJob.getConf()));
+                conf = new XConfiguration(new 
StringReader(oldCoordJob.getConf()));
             }
             catch (Exception e) {
                 throw new CommandException(ErrorCode.E1023, e.getMessage(), e);

http://git-wip-us.apache.org/repos/asf/oozie/blob/9164c016/core/src/main/java/org/apache/oozie/servlet/BaseJobServlet.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/oozie/servlet/BaseJobServlet.java 
b/core/src/main/java/org/apache/oozie/servlet/BaseJobServlet.java
index 6948c67..29394a8 100644
--- a/core/src/main/java/org/apache/oozie/servlet/BaseJobServlet.java
+++ b/core/src/main/java/org/apache/oozie/servlet/BaseJobServlet.java
@@ -162,8 +162,17 @@ public abstract class BaseJobServlet extends 
JsonRestServlet {
         }
         else if (action.equals(RestConstants.JOB_COORD_UPDATE)) {
             validateContentType(request, RestConstants.XML_CONTENT_TYPE);
+            Configuration conf = new XConfiguration(request.getInputStream());
             stopCron();
-            JSONObject json = updateJob(request, response);
+            String requestUser = getUser(request);
+            if (!requestUser.equals(UNDEF)) {
+                conf.set(OozieClient.USER_NAME, requestUser);
+            }
+            if (conf.get(OozieClient.COORDINATOR_APP_PATH) != null) {
+                BaseJobServlet.checkAuthorizationForApp(conf);
+                JobUtils.normalizeAppPath(conf.get(OozieClient.USER_NAME), 
conf.get(OozieClient.GROUP_NAME), conf);
+            }
+            JSONObject json = updateJob(request, response, conf);
             startCron();
             sendJsonResponse(response, HttpServletResponse.SC_OK, json);
         }
@@ -445,11 +454,12 @@ public abstract class BaseJobServlet extends 
JsonRestServlet {
      *
      * @param request the request
      * @param response the response
+     * @param Configuration conf
      * @return the JSON object
      * @throws XServletException the x servlet exception
      * @throws IOException Signals that an I/O exception has occurred.
      */
-    abstract JSONObject updateJob(HttpServletRequest request, 
HttpServletResponse response)
+    abstract JSONObject updateJob(HttpServletRequest request, 
HttpServletResponse response, Configuration conf)
             throws XServletException, IOException;
 }
 

http://git-wip-us.apache.org/repos/asf/oozie/blob/9164c016/core/src/main/java/org/apache/oozie/servlet/V0JobServlet.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/oozie/servlet/V0JobServlet.java 
b/core/src/main/java/org/apache/oozie/servlet/V0JobServlet.java
index 3bba16f..7af502a 100644
--- a/core/src/main/java/org/apache/oozie/servlet/V0JobServlet.java
+++ b/core/src/main/java/org/apache/oozie/servlet/V0JobServlet.java
@@ -216,8 +216,8 @@ public class V0JobServlet extends BaseJobServlet {
     }
 
     @Override
-    protected JSONObject updateJob(HttpServletRequest request, 
HttpServletResponse response) throws XServletException,
-            IOException {
+    protected JSONObject updateJob(HttpServletRequest request, 
HttpServletResponse response, Configuration conf)
+            throws XServletException, IOException {
         throw new XServletException(HttpServletResponse.SC_BAD_REQUEST, 
ErrorCode.E0302, "Not supported in v0");
     }
 

http://git-wip-us.apache.org/repos/asf/oozie/blob/9164c016/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java 
b/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java
index 855fabc..20a6e1f 100644
--- a/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java
+++ b/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java
@@ -1084,8 +1084,8 @@ public class V1JobServlet extends BaseJobServlet {
      * not supported for v1
      */
     @Override
-    protected JSONObject updateJob(HttpServletRequest request, 
HttpServletResponse response) throws XServletException,
-            IOException {
+    protected JSONObject updateJob(HttpServletRequest request, 
HttpServletResponse response, Configuration conf)
+            throws XServletException, IOException {
         throw new XServletException(HttpServletResponse.SC_BAD_REQUEST, 
ErrorCode.E0302, "Not supported in v1");
     }
 }

http://git-wip-us.apache.org/repos/asf/oozie/blob/9164c016/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java 
b/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java
index 371cbb4..9dc5e0c 100644
--- a/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java
+++ b/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java
@@ -41,7 +41,6 @@ import org.apache.oozie.command.CommandException;
 import org.apache.oozie.service.CoordinatorEngineService;
 import org.apache.oozie.service.DagEngineService;
 import org.apache.oozie.service.Services;
-import org.apache.oozie.util.XConfiguration;
 import org.json.simple.JSONObject;
 
 @SuppressWarnings("serial")
@@ -102,13 +101,12 @@ public class V2JobServlet extends V1JobServlet {
      */
     @SuppressWarnings("unchecked")
     @Override
-    protected JSONObject updateJob(HttpServletRequest request, 
HttpServletResponse response) throws XServletException,
-            IOException {
+    protected JSONObject updateJob(HttpServletRequest request, 
HttpServletResponse response, Configuration conf)
+            throws XServletException, IOException {
         CoordinatorEngine coordEngine = 
Services.get().get(CoordinatorEngineService.class)
                 .getCoordinatorEngine(getUser(request));
         JSONObject json = new JSONObject();
         try {
-            Configuration conf= new XConfiguration(request.getInputStream());
             String jobId = getResourceName(request);
             boolean dryrun = 
StringUtils.isEmpty(request.getParameter(RestConstants.JOB_ACTION_DRYRUN)) ? 
false
                     : 
Boolean.parseBoolean(request.getParameter(RestConstants.JOB_ACTION_DRYRUN));

http://git-wip-us.apache.org/repos/asf/oozie/blob/9164c016/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index 2e14e5c..a8d5da2 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 4.1.0 release (4.1 - unreleased)
 
+OOZIE-1957 Coord update command override group when 
oozie.service.AuthorizationService.default.group.as.acl is set and group/acl is 
not configured in job property (puru)
 OOZIE-1989 NPE during a rerun with forks (rkanter)
 OOZIE-1923 ZKLocksService locks are not re-entrant like MemoryLocks (puru)
 OOZIE-1945 NPE in JaveActionExecutor#check() (sree2k via rkanter)

Reply via email to