You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by da...@apache.org on 2013/09/04 00:42:49 UTC

svn commit: r1519875 - in /hive/trunk: ./ hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/ shims/src/0.20/java/org/apache/hadoop/hive/shims/ shims/src/0.20S/java/org/apache/hadoop/hive/shims/ shims/src/0.20S/java/org/apache/hadoop/mapr...

Author: daijy
Date: Tue Sep  3 22:42:48 2013
New Revision: 1519875

URL: http://svn.apache.org/r1519875
Log:
HIVE-4442: WebHCat should not override user.name parameter for Queue call (Daniel Dai)

Modified:
    hive/trunk/RELEASE_NOTES.txt
    hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/DeleteDelegator.java
    hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/ListDelegator.java
    hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/Server.java
    hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/StatusDelegator.java
    hive/trunk/shims/src/0.20/java/org/apache/hadoop/hive/shims/Hadoop20Shims.java
    hive/trunk/shims/src/0.20S/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java
    hive/trunk/shims/src/0.20S/java/org/apache/hadoop/mapred/WebHCatJTShim20S.java
    hive/trunk/shims/src/0.23/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java
    hive/trunk/shims/src/0.23/java/org/apache/hadoop/mapred/WebHCatJTShim23.java
    hive/trunk/shims/src/common/java/org/apache/hadoop/hive/shims/HadoopShims.java

Modified: hive/trunk/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/hive/trunk/RELEASE_NOTES.txt?rev=1519875&r1=1519874&r2=1519875&view=diff
==============================================================================
--- hive/trunk/RELEASE_NOTES.txt (original)
+++ hive/trunk/RELEASE_NOTES.txt Tue Sep  3 22:42:48 2013
@@ -15,6 +15,7 @@ Release Notes - Hive - Version 0.11.0
     * [HIVE-4326] - Clean up remaining items in hive/hcatalog/historical/trunk
 
 ** Bug
+    * [HIVE-4442] - WebHCat should not override user.name parameter for Queue call
     * [HIVE-4586] - WebHCat should return 404 error for undefined resource
     * [HIVE-4820] - webhcat_config.sh should set default values for HIVE_HOME and HCAT_PREFIX that work with default build tree structure
     * [HIVE-2264] - Hive server is SHUTTING DOWN when invalid queries beeing executed.

Modified: hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/DeleteDelegator.java
URL: http://svn.apache.org/viewvc/hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/DeleteDelegator.java?rev=1519875&r1=1519874&r2=1519875&view=diff
==============================================================================
--- hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/DeleteDelegator.java (original)
+++ hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/DeleteDelegator.java Tue Sep  3 22:42:48 2013
@@ -37,11 +37,11 @@ public class DeleteDelegator extends Tem
     public QueueStatusBean run(String user, String id)
         throws NotAuthorizedException, BadParam, IOException, InterruptedException
     {
-        UserGroupInformation ugi = UserGroupInformation.createRemoteUser(user);
+        UserGroupInformation ugi = UgiFactory.getUgi(user);
         WebHCatJTShim tracker = null;
         JobState state = null;
         try {
-            tracker = ShimLoader.getHadoopShims().getWebHCatShim(appConf);
+            tracker = ShimLoader.getHadoopShims().getWebHCatShim(appConf, ugi);
             JobID jobid = StatusDelegator.StringToJobID(id);
             if (jobid == null)
                 throw new BadParam("Invalid jobid: " + id);

Modified: hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/ListDelegator.java
URL: http://svn.apache.org/viewvc/hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/ListDelegator.java?rev=1519875&r1=1519874&r2=1519875&view=diff
==============================================================================
--- hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/ListDelegator.java (original)
+++ hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/ListDelegator.java Tue Sep  3 22:42:48 2013
@@ -36,13 +36,13 @@ public class ListDelegator extends Templ
         super(appConf);
     }
 
-    public List<String> run(String user)
+    public List<String> run(String user, boolean showall)
         throws NotAuthorizedException, BadParam, IOException, InterruptedException {
         
-        UserGroupInformation ugi = UserGroupInformation.createRemoteUser(user);
+        UserGroupInformation ugi = UgiFactory.getUgi(user);
         WebHCatJTShim tracker = null;
         try {
-            tracker = ShimLoader.getHadoopShims().getWebHCatShim(appConf);
+            tracker = ShimLoader.getHadoopShims().getWebHCatShim(appConf, ugi);
 
             ArrayList<String> ids = new ArrayList<String>();
 
@@ -54,7 +54,7 @@ public class ListDelegator extends Templ
                     try {
                         String id = job.getJobID().toString();
                         state = new JobState(id, Main.getAppConfigInstance());
-                        if (user.equals(state.getUser()))
+                        if (showall || user.equals(state.getUser()))
                             ids.add(id);
                     } finally {
                         if (state != null) {

Modified: hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/Server.java
URL: http://svn.apache.org/viewvc/hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/Server.java?rev=1519875&r1=1519874&r2=1519875&view=diff
==============================================================================
--- hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/Server.java (original)
+++ hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/Server.java Tue Sep  3 22:42:48 2013
@@ -717,13 +717,13 @@ public class Server {
     @GET
     @Path("queue")
     @Produces({MediaType.APPLICATION_JSON})
-    public List<String> showQueueList()
+    public List<String> showQueueList(@QueryParam("showall") boolean showall)
         throws NotAuthorizedException, BadParam, IOException, InterruptedException {
         
         verifyUser();
 
         ListDelegator d = new ListDelegator(appConf);
-        return d.run(getDoAsUser());
+        return d.run(getDoAsUser(), showall);
     }
 
     /**

Modified: hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/StatusDelegator.java
URL: http://svn.apache.org/viewvc/hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/StatusDelegator.java?rev=1519875&r1=1519874&r2=1519875&view=diff
==============================================================================
--- hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/StatusDelegator.java (original)
+++ hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/StatusDelegator.java Tue Sep  3 22:42:48 2013
@@ -24,6 +24,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hive.shims.HadoopShims.WebHCatJTShim;
 import org.apache.hadoop.hive.shims.ShimLoader;
+import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.mapred.JobID;
 import org.apache.hadoop.mapred.JobProfile;
 import org.apache.hadoop.mapred.JobStatus;
@@ -45,7 +46,8 @@ public class StatusDelegator extends Tem
         WebHCatJTShim tracker = null;
         JobState state = null;
         try {
-            tracker = ShimLoader.getHadoopShims().getWebHCatShim(appConf);
+            UserGroupInformation ugi = UgiFactory.getUgi(user);
+            tracker = ShimLoader.getHadoopShims().getWebHCatShim(appConf, ugi);
             JobID jobid = StatusDelegator.StringToJobID(id);
             if (jobid == null)
                 throw new BadParam("Invalid jobid: " + id);

Modified: hive/trunk/shims/src/0.20/java/org/apache/hadoop/hive/shims/Hadoop20Shims.java
URL: http://svn.apache.org/viewvc/hive/trunk/shims/src/0.20/java/org/apache/hadoop/hive/shims/Hadoop20Shims.java?rev=1519875&r1=1519874&r2=1519875&view=diff
==============================================================================
--- hive/trunk/shims/src/0.20/java/org/apache/hadoop/hive/shims/Hadoop20Shims.java (original)
+++ hive/trunk/shims/src/0.20/java/org/apache/hadoop/hive/shims/Hadoop20Shims.java Tue Sep  3 22:42:48 2013
@@ -740,7 +740,7 @@ public class Hadoop20Shims implements Ha
       throw new UnsupportedOperationException("HCatalog does not support Hadoop 0.20.x");
   }
   @Override
-  public WebHCatJTShim getWebHCatShim(Configuration conf) throws IOException {
+  public WebHCatJTShim getWebHCatShim(Configuration conf, UserGroupInformation ugi) throws IOException {
       throw new UnsupportedOperationException("WebHCat does not support Hadoop 0.20.x");
   }
 }

Modified: hive/trunk/shims/src/0.20S/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java
URL: http://svn.apache.org/viewvc/hive/trunk/shims/src/0.20S/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java?rev=1519875&r1=1519874&r2=1519875&view=diff
==============================================================================
--- hive/trunk/shims/src/0.20S/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java (original)
+++ hive/trunk/shims/src/0.20S/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java Tue Sep  3 22:42:48 2013
@@ -44,6 +44,7 @@ import org.apache.hadoop.mapreduce.TaskA
 import org.apache.hadoop.mapreduce.TaskID;
 import org.apache.hadoop.util.Progressable;
 import org.apache.hadoop.mapred.lib.TotalOrderPartitioner;
+import org.apache.hadoop.security.UserGroupInformation;
 
 
 /**
@@ -326,7 +327,7 @@ public class Hadoop20SShims extends Hado
     }
   }
   @Override
-  public WebHCatJTShim getWebHCatShim(Configuration conf) throws IOException {
-    return new WebHCatJTShim20S(conf);//this has state, so can't be cached
+  public WebHCatJTShim getWebHCatShim(Configuration conf, UserGroupInformation ugi) throws IOException {
+    return new WebHCatJTShim20S(conf, ugi);//this has state, so can't be cached
   }
 }

Modified: hive/trunk/shims/src/0.20S/java/org/apache/hadoop/mapred/WebHCatJTShim20S.java
URL: http://svn.apache.org/viewvc/hive/trunk/shims/src/0.20S/java/org/apache/hadoop/mapred/WebHCatJTShim20S.java?rev=1519875&r1=1519874&r2=1519875&view=diff
==============================================================================
--- hive/trunk/shims/src/0.20S/java/org/apache/hadoop/mapred/WebHCatJTShim20S.java (original)
+++ hive/trunk/shims/src/0.20S/java/org/apache/hadoop/mapred/WebHCatJTShim20S.java Tue Sep  3 22:42:48 2013
@@ -19,9 +19,8 @@ public class WebHCatJTShim20S implements
     /**
      * Create a connection to the Job Tracker.
      */
-    public WebHCatJTShim20S(Configuration conf)
+    public WebHCatJTShim20S(Configuration conf, UserGroupInformation ugi)
             throws IOException {
-      UserGroupInformation ugi = UserGroupInformation.getLoginUser();
       cnx = (JobSubmissionProtocol)
               RPC.getProxy(JobSubmissionProtocol.class,
                       JobSubmissionProtocol.versionID,

Modified: hive/trunk/shims/src/0.23/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java
URL: http://svn.apache.org/viewvc/hive/trunk/shims/src/0.23/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java?rev=1519875&r1=1519874&r2=1519875&view=diff
==============================================================================
--- hive/trunk/shims/src/0.23/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java (original)
+++ hive/trunk/shims/src/0.23/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java Tue Sep  3 22:42:48 2013
@@ -49,6 +49,7 @@ import org.apache.hadoop.mapreduce.util.
 import org.apache.hadoop.net.NetUtils;
 import org.apache.hadoop.util.Progressable;
 import org.apache.hadoop.mapred.lib.TotalOrderPartitioner;
+import org.apache.hadoop.security.UserGroupInformation;
 
 
 /**
@@ -335,7 +336,7 @@ public class Hadoop23Shims extends Hadoo
     }
   }
   @Override
-  public WebHCatJTShim getWebHCatShim(Configuration conf) throws IOException {
-    return new WebHCatJTShim23(conf);//this has state, so can't be cached
+  public WebHCatJTShim getWebHCatShim(Configuration conf, UserGroupInformation ugi) throws IOException {
+    return new WebHCatJTShim23(conf, ugi);//this has state, so can't be cached
   }
 }

Modified: hive/trunk/shims/src/0.23/java/org/apache/hadoop/mapred/WebHCatJTShim23.java
URL: http://svn.apache.org/viewvc/hive/trunk/shims/src/0.23/java/org/apache/hadoop/mapred/WebHCatJTShim23.java?rev=1519875&r1=1519874&r2=1519875&view=diff
==============================================================================
--- hive/trunk/shims/src/0.23/java/org/apache/hadoop/mapred/WebHCatJTShim23.java (original)
+++ hive/trunk/shims/src/0.23/java/org/apache/hadoop/mapred/WebHCatJTShim23.java Tue Sep  3 22:42:48 2013
@@ -1,6 +1,7 @@
 package org.apache.hadoop.mapred;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.hive.shims.HadoopShims.WebHCatJTShim;
 
 import java.io.IOException;
@@ -11,7 +12,7 @@ public class WebHCatJTShim23 implements 
   /**
    * Create a connection to the Job Tracker.
    */
-  public WebHCatJTShim23(Configuration conf)
+  public WebHCatJTShim23(Configuration conf, final UserGroupInformation ugi)
           throws IOException {
 
     jc = new JobClient(conf);

Modified: hive/trunk/shims/src/common/java/org/apache/hadoop/hive/shims/HadoopShims.java
URL: http://svn.apache.org/viewvc/hive/trunk/shims/src/common/java/org/apache/hadoop/hive/shims/HadoopShims.java?rev=1519875&r1=1519874&r2=1519875&view=diff
==============================================================================
--- hive/trunk/shims/src/common/java/org/apache/hadoop/hive/shims/HadoopShims.java (original)
+++ hive/trunk/shims/src/common/java/org/apache/hadoop/hive/shims/HadoopShims.java Tue Sep  3 22:42:48 2013
@@ -509,7 +509,7 @@ public interface HadoopShims {
    * Provides a Hadoop JobTracker shim.
    * @param conf not {@code null}
    */
-  public WebHCatJTShim getWebHCatShim(Configuration conf) throws IOException;
+  public WebHCatJTShim getWebHCatShim(Configuration conf, UserGroupInformation ugi) throws IOException;
   public interface WebHCatJTShim {
     /**
      * Grab a handle to a job that is already known to the JobTracker.