Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-218 27ad40871 -> 688585e78


[IGNITE-218]: temp workaround set.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/688585e7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/688585e7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/688585e7

Branch: refs/heads/ignite-218
Commit: 688585e7848c347ec2ea697dc88a1f065e74a25c
Parents: 27ad408
Author: iveselovskiy <iveselovs...@gridgain.com>
Authored: Thu Apr 16 22:37:04 2015 +0300
Committer: iveselovskiy <iveselovs...@gridgain.com>
Committed: Thu Apr 16 22:37:04 2015 +0300

----------------------------------------------------------------------
 .../hadoop/fs/v1/IgniteHadoopFileSystem.java    | 22 +++++++++++++++-----
 .../hadoop/fs/v2/IgniteHadoopFileSystem.java    |  2 +-
 .../hadoop/v2/HadoopV2JobResourceManager.java   |  2 +-
 3 files changed, 19 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688585e7/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v1/IgniteHadoopFileSystem.java
----------------------------------------------------------------------
diff --git 
a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v1/IgniteHadoopFileSystem.java
 
b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v1/IgniteHadoopFileSystem.java
index c53aabf..6fd6d1b 100644
--- 
a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v1/IgniteHadoopFileSystem.java
+++ 
b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v1/IgniteHadoopFileSystem.java
@@ -22,6 +22,7 @@ import org.apache.hadoop.fs.*;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.permission.*;
 import org.apache.hadoop.hdfs.*;
+import org.apache.hadoop.mapreduce.*;
 import org.apache.hadoop.security.*;
 import org.apache.hadoop.util.*;
 import org.apache.ignite.*;
@@ -175,12 +176,23 @@ public class IgniteHadoopFileSystem extends FileSystem {
      * Gets non-null and interned user name as per the Hadoop file system 
viewpoint.
      * @return the user name, never null.
      */
-    public static String getFsHadoopUser() throws IOException {
+    public static String getFsHadoopUser(Configuration cfg) throws IOException 
{
         String user = null;
 
-        UserGroupInformation currUgi = UserGroupInformation.getCurrentUser();
-        if (currUgi != null)
-             user = currUgi.getShortUserName();
+        // -------------------------------------------
+        // TODO: Temporary workaround.
+        // We have an issue there: sometimes FileSystem created from MR jobs 
gets incorrect
+        // UserGroupInformation.getCurrentUser() despite of the fact that it 
is invoked in correct
+        // ugi.doAs() closure.
+        if (cfg != null)
+            user = cfg.get(MRJobConfig.USER_NAME);
+        // -------------------------------------------
+
+        if (user == null) {
+            UserGroupInformation currUgi = 
UserGroupInformation.getCurrentUser();
+            if (currUgi != null)
+                user = currUgi.getShortUserName();
+        }
 
         user = IgfsUserContext.fixUserName(user);
 
@@ -229,7 +241,7 @@ public class IgniteHadoopFileSystem extends FileSystem {
 
             uriAuthority = uri.getAuthority();
 
-            user = getFsHadoopUser();
+            user = getFsHadoopUser(cfg);
 
             // Override sequential reads before prefetch if needed.
             seqReadsBeforePrefetch = parameter(cfg, 
PARAM_IGFS_SEQ_READS_BEFORE_PREFETCH, uriAuthority, 0);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688585e7/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v2/IgniteHadoopFileSystem.java
----------------------------------------------------------------------
diff --git 
a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v2/IgniteHadoopFileSystem.java
 
b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v2/IgniteHadoopFileSystem.java
index 8330143..f3fbe9c 100644
--- 
a/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v2/IgniteHadoopFileSystem.java
+++ 
b/modules/hadoop/src/main/java/org/apache/ignite/hadoop/fs/v2/IgniteHadoopFileSystem.java
@@ -144,7 +144,7 @@ public class IgniteHadoopFileSystem extends 
AbstractFileSystem implements Closea
 
         uri = name;
 
-        user = getFsHadoopUser();
+        user = getFsHadoopUser(cfg);
 
         try {
             initialize(name, cfg);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/688585e7/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/v2/HadoopV2JobResourceManager.java
----------------------------------------------------------------------
diff --git 
a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/v2/HadoopV2JobResourceManager.java
 
b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/v2/HadoopV2JobResourceManager.java
index 340891a..0b2f7df 100644
--- 
a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/v2/HadoopV2JobResourceManager.java
+++ 
b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/v2/HadoopV2JobResourceManager.java
@@ -103,7 +103,7 @@ public class HadoopV2JobResourceManager {
         String user = cfg.get(MRJobConfig.USER_NAME);
 
         if (user == null)
-            user = IgniteHadoopFileSystem.getFsHadoopUser();
+            user = IgniteHadoopFileSystem.getFsHadoopUser(cfg);
 
         user = user.intern();
 

Reply via email to