From a1d511639f7465467e8176666df898a96ed409be Mon Sep 17 00:00:00 2001 From: Chris Nauroth Date: Tue, 14 Jan 2014 18:25:17 +0000 Subject: [PATCH] HADOOP-10228. Merging change r1557236 from trunk to branch-2. git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1558146 13f79535-47bb-0310-9956-ffa450edef68 --- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../java/org/apache/hadoop/fs/permission/FsPermission.java | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 90f089388e4..e0b94f5eb07 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -133,6 +133,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 diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/FsPermission.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/FsPermission.java index 3db9acb2e22..8a3d6e4335f 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/FsPermission.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/permission/FsPermission.java @@ -120,8 +120,7 @@ private void set(FsAction u, FsAction g, FsAction o, boolean sb) { } 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 FsPermission applyUMask(FsPermission umask) { 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) *