HADOOP-10590. ServiceAuthorizationManager is not threadsafe. (Contributed by Benoy Antony)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1603356 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Vinayakumar B 2014-06-18 05:29:03 +00:00
parent 8e8a769e7f
commit 44ac7437ad
2 changed files with 5 additions and 3 deletions

View File

@ -589,6 +589,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

View File

@ -45,7 +45,7 @@ import com.google.common.annotations.VisibleForTesting;
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>();