Repository: oozie
Updated Branches:
  refs/heads/master 17defc414 -> 1bbc2decf


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/1bbc2dec
Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/1bbc2dec
Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/1bbc2dec

Branch: refs/heads/master
Commit: 1bbc2decf36238b18ba6c69b2fe623524407c0cc
Parents: 17defc4
Author: Purshotam Shah <[email protected]>
Authored: Tue Sep 9 13:52:15 2014 -0700
Committer: Purshotam Shah <[email protected]>
Committed: Tue Sep 9 13:52:15 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/1bbc2dec/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 f0da560..6647ef8 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
@@ -118,7 +118,7 @@ public class CoordUpdateXCommand extends 
CoordSubmitXCommand {
         LogUtils.setLogInfo(oldCoordJob);
         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/1bbc2dec/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 f651d5c..11835ed 100644
--- a/core/src/main/java/org/apache/oozie/servlet/BaseJobServlet.java
+++ b/core/src/main/java/org/apache/oozie/servlet/BaseJobServlet.java
@@ -163,8 +163,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);
         }
@@ -446,11 +455,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/1bbc2dec/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 508538d..eb699e6 100644
--- a/core/src/main/java/org/apache/oozie/servlet/V0JobServlet.java
+++ b/core/src/main/java/org/apache/oozie/servlet/V0JobServlet.java
@@ -217,8 +217,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/1bbc2dec/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 6427989..396661a 100644
--- a/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java
+++ b/core/src/main/java/org/apache/oozie/servlet/V1JobServlet.java
@@ -1085,8 +1085,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/1bbc2dec/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 b7b9be9..de4f865 100644
--- a/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java
+++ b/core/src/main/java/org/apache/oozie/servlet/V2JobServlet.java
@@ -42,7 +42,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")
@@ -103,13 +102,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/1bbc2dec/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index dd5131a..e73eb75 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 4.2.0 release (trunk - 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-1818 CoordMaterializeTransitionXCommand verifyPrecondition doesn't 
verify current time (puru)
 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)

Reply via email to