Author: daijy
Date: Wed Sep  4 01:36:39 2013
New Revision: 1519897

URL: http://svn.apache.org/r1519897
Log:
HIVE-4441: WebHCat does not honor user home directory (Daniel Dai)

Modified:
    
hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/tool/TempletonUtils.java

Modified: 
hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/tool/TempletonUtils.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/tool/TempletonUtils.java?rev=1519897&r1=1519896&r2=1519897&view=diff
==============================================================================
--- 
hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/tool/TempletonUtils.java
 (original)
+++ 
hive/trunk/hcatalog/webhcat/svr/src/main/java/org/apache/hcatalog/templeton/tool/TempletonUtils.java
 Wed Sep  4 01:36:39 2013
@@ -35,6 +35,7 @@ import java.util.regex.Pattern;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.LocalFileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hdfs.DistributedFileSystem;
 import org.apache.hadoop.security.UserGroupInformation;
@@ -220,7 +221,8 @@ public class TempletonUtils {
         // If path contains scheme, user should mean an absolute path,
         // However, path.isAbsolute tell us otherwise.
         // So we skip conversion for non-hdfs.
-        if (!(path.getFileSystem(conf) instanceof DistributedFileSystem)) {
+        if (!(path.getFileSystem(conf) instanceof DistributedFileSystem)&&
+                !(path.getFileSystem(conf) instanceof LocalFileSystem)) {
             return result;
         }
         if (!path.isAbsolute()) {
@@ -236,7 +238,12 @@ public class TempletonUtils {
             return null;
         }
 
-        UserGroupInformation ugi = UgiFactory.getUgi(user);
+        UserGroupInformation ugi;
+        if (user!=null) {
+            ugi = UgiFactory.getUgi(user);
+        } else {
+            ugi = UserGroupInformation.getLoginUser();
+        }
         final String finalFName = new String(fname);
 
         final FileSystem defaultFs = 


Reply via email to