Merged revision(s) 1603356 from hadoop/common/trunk:
HADOOP-10590. ServiceAuthorizationManager is not threadsafe. (Contributed by Benoy Antony) git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1603357 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ebe064b9ff
commit
5c6df64f8d
|
@ -252,6 +252,8 @@ Release 2.5.0 - UNRELEASED
|
||||||
HADOOP-10561. Copy command with preserve option should handle Xattrs.
|
HADOOP-10561. Copy command with preserve option should handle Xattrs.
|
||||||
(Yi Liu via cnauroth)
|
(Yi Liu via cnauroth)
|
||||||
|
|
||||||
|
HADOOP-10590. ServiceAuthorizationManager is not threadsafe. (Benoy Antony via vinayakumarb)
|
||||||
|
|
||||||
Release 2.4.1 - 2014-06-23
|
Release 2.4.1 - 2014-06-23
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -45,7 +45,7 @@ import com.google.common.annotations.VisibleForTesting;
|
||||||
public class ServiceAuthorizationManager {
|
public class ServiceAuthorizationManager {
|
||||||
private static final String HADOOP_POLICY_FILE = "hadoop-policy.xml";
|
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>();
|
new IdentityHashMap<Class<?>, AccessControlList>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -114,7 +114,7 @@ public class ServiceAuthorizationManager {
|
||||||
AUDITLOG.info(AUTHZ_SUCCESSFUL_FOR + user + " for protocol="+protocol);
|
AUDITLOG.info(AUTHZ_SUCCESSFUL_FOR + user + " for protocol="+protocol);
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized void refresh(Configuration conf,
|
public void refresh(Configuration conf,
|
||||||
PolicyProvider provider) {
|
PolicyProvider provider) {
|
||||||
// Get the system property 'hadoop.policy.file'
|
// Get the system property 'hadoop.policy.file'
|
||||||
String policyFile =
|
String policyFile =
|
||||||
|
@ -127,7 +127,7 @@ public class ServiceAuthorizationManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Private
|
@Private
|
||||||
public synchronized void refreshWithLoadedConfiguration(Configuration conf,
|
public void refreshWithLoadedConfiguration(Configuration conf,
|
||||||
PolicyProvider provider) {
|
PolicyProvider provider) {
|
||||||
final Map<Class<?>, AccessControlList> newAcls =
|
final Map<Class<?>, AccessControlList> newAcls =
|
||||||
new IdentityHashMap<Class<?>, AccessControlList>();
|
new IdentityHashMap<Class<?>, AccessControlList>();
|
||||||
|
|
Loading…
Reference in New Issue