瀏覽代碼

HADOOP-10228. FsPermission#fromShort() should cache FsAction.values(). Contributed by Haohui Mai.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1558139 13f79535-47bb-0310-9956-ffa450edef68
Chris Nauroth 11 年之前
父節點
當前提交
782a223add

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -430,6 +430,9 @@ Release 2.4.0 - UNRELEASED
     HADOOP-10173. Remove UGI from DIGEST-MD5 SASL server creation (daryn via
     kihwal)
 
+    HADOOP-10228. FsPermission#fromShort() should cache FsAction.values().
+    (Haohui Mai via cnauroth)
+
   BUG FIXES
 
     HADOOP-9964. Fix deadlocks in TestHttpServer by synchronize

+ 3 - 2
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/FsPermission.java

@@ -120,8 +120,7 @@ public class FsPermission implements Writable {
   }
 
   public void fromShort(short n) {
-    FsAction[] v = FsAction.values();
-
+    FsAction[] v = FSACTION_VALUES;
     set(v[(n >>> 6) & 7], v[(n >>> 3) & 7], v[n & 7], (((n >>> 9) & 1) == 1) );
   }
 
@@ -210,6 +209,8 @@ public class FsPermission implements Writable {
   public static final int DEFAULT_UMASK = 
                   CommonConfigurationKeys.FS_PERMISSIONS_UMASK_DEFAULT;
 
+  private static final FsAction[] FSACTION_VALUES = FsAction.values();
+
   /** 
    * Get the user file creation mask (umask)
    *