HADOOP-15968. ABFS: add try catch for UGI failure when initializing ABFS.

Contributed by Da Zhou.


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

Branch: refs/heads/HDFS-12943
Commit: a8bbd818d5bc4762324bcdb7cf1fdd5c2f93891b
Parents: de42555
Author: Da Zhou <da.z...@microsoft.com>
Authored: Tue Dec 4 13:39:10 2018 +0000
Committer: Steve Loughran <ste...@apache.org>
Committed: Tue Dec 4 13:39:10 2018 +0000

----------------------------------------------------------------------
 .../apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java |  7 ++++++-
 .../hadoop/fs/azurebfs/AzureBlobFileSystemStore.java   | 13 +++++++++----
 2 files changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/a8bbd818/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java
----------------------------------------------------------------------
diff --git 
a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java
 
b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java
index 38b0c77..b4277c2 100644
--- 
a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java
+++ 
b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java
@@ -121,7 +121,12 @@ public class AzureBlobFileSystem extends FileSystem {
     }
 
     if (!abfsConfiguration.getSkipUserGroupMetadataDuringInitialization()) {
-      this.primaryUserGroup = userGroupInformation.getPrimaryGroupName();
+      try {
+        this.primaryUserGroup = userGroupInformation.getPrimaryGroupName();
+      } catch (IOException ex) {
+        LOG.error("Failed to get primary group for {}, using user name as 
primary group name", user);
+        this.primaryUserGroup = this.user;
+      }
     } else {
       //Provide a default group name
       this.primaryUserGroup = this.user;

http://git-wip-us.apache.org/repos/asf/hadoop/blob/a8bbd818/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystemStore.java
----------------------------------------------------------------------
diff --git 
a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystemStore.java
 
b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystemStore.java
index fc684ac..5f1692f 100644
--- 
a/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystemStore.java
+++ 
b/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystemStore.java
@@ -102,8 +102,8 @@ public class AzureBlobFileSystemStore {
   private AbfsClient client;
   private URI uri;
   private final UserGroupInformation userGroupInformation;
-  private final String userName;
-  private final String primaryUserGroup;
+  private String userName;
+  private String primaryUserGroup;
   private static final String DATE_TIME_PATTERN = "E, dd MMM yyyy HH:mm:ss 
'GMT'";
   private static final String XMS_PROPERTIES_ENCODING = "ISO-8859-1";
   private static final int LIST_MAX_RESULTS = 5000;
@@ -134,10 +134,15 @@ public class AzureBlobFileSystemStore {
     this.userName = userGroupInformation.getShortUserName();
 
     if (!abfsConfiguration.getSkipUserGroupMetadataDuringInitialization()) {
-      primaryUserGroup = userGroupInformation.getPrimaryGroupName();
+      try {
+        this.primaryUserGroup = userGroupInformation.getPrimaryGroupName();
+      } catch (IOException ex) {
+        LOG.error("Failed to get primary group for {}, using user name as 
primary group name", userName);
+        this.primaryUserGroup = userName;
+      }
     } else {
       //Provide a default group name
-      primaryUserGroup = userName;
+      this.primaryUserGroup = userName;
     }
 
     this.azureAtomicRenameDirSet = new HashSet<>(Arrays.asList(


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to