Author: vinayakumarb Date: Wed Jun 18 05:31:23 2014 New Revision: 1603357 URL: http://svn.apache.org/r1603357 Log: Merged revision(s) 1603356 from hadoop/common/trunk: HADOOP-10590. ServiceAuthorizationManager is not threadsafe. (Contributed by Benoy Antony)
Modified: hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/authorize/ServiceAuthorizationManager.java Modified: hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt?rev=1603357&r1=1603356&r2=1603357&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt (original) +++ hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/CHANGES.txt Wed Jun 18 05:31:23 2014 @@ -252,6 +252,8 @@ Release 2.5.0 - UNRELEASED HADOOP-10561. Copy command with preserve option should handle Xattrs. (Yi Liu via cnauroth) + HADOOP-10590. ServiceAuthorizationManager is not threadsafe. (Benoy Antony via vinayakumarb) + Release 2.4.1 - 2014-06-23 INCOMPATIBLE CHANGES Modified: hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/authorize/ServiceAuthorizationManager.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/authorize/ServiceAuthorizationManager.java?rev=1603357&r1=1603356&r2=1603357&view=diff ============================================================================== --- hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/authorize/ServiceAuthorizationManager.java (original) +++ hadoop/common/branches/branch-2/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/authorize/ServiceAuthorizationManager.java Wed Jun 18 05:31:23 2014 @@ -45,7 +45,7 @@ import com.google.common.annotations.Vis public class ServiceAuthorizationManager { private static final String HADOOP_POLICY_FILE = "hadoop-policy.xml"; - private Map<Class<?>, AccessControlList> protocolToAcl = + private volatile Map<Class<?>, AccessControlList> protocolToAcl = new IdentityHashMap<Class<?>, AccessControlList>(); /** @@ -114,7 +114,7 @@ public class ServiceAuthorizationManager AUDITLOG.info(AUTHZ_SUCCESSFUL_FOR + user + " for protocol="+protocol); } - public synchronized void refresh(Configuration conf, + public void refresh(Configuration conf, PolicyProvider provider) { // Get the system property 'hadoop.policy.file' String policyFile = @@ -127,7 +127,7 @@ public class ServiceAuthorizationManager } @Private - public synchronized void refreshWithLoadedConfiguration(Configuration conf, + public void refreshWithLoadedConfiguration(Configuration conf, PolicyProvider provider) { final Map<Class<?>, AccessControlList> newAcls = new IdentityHashMap<Class<?>, AccessControlList>();