HBASE-19866 TestRegionServerReportForDuty doesn't timeout
Synchronized on authManager instead of RpcServer
This commit is contained in:
parent
5b0d7dc45b
commit
f8bde7b76c
|
@ -355,10 +355,12 @@ public abstract class RpcServer implements RpcServerInterface,
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public synchronized void refreshAuthManager(PolicyProvider pp) {
|
public void refreshAuthManager(PolicyProvider pp) {
|
||||||
// Ignore warnings that this should be accessed in a static way instead of via an instance;
|
// Ignore warnings that this should be accessed in a static way instead of via an instance;
|
||||||
// it'll break if you go via static route.
|
// it'll break if you go via static route.
|
||||||
this.authManager.refresh(this.conf, pp);
|
synchronized (authManager) {
|
||||||
|
authManager.refresh(this.conf, pp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AuthenticationTokenSecretManager createSecretManager() {
|
protected AuthenticationTokenSecretManager createSecretManager() {
|
||||||
|
@ -534,19 +536,18 @@ public abstract class RpcServer implements RpcServerInterface,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Authorize the incoming client connection.
|
* Authorize the incoming client connection.
|
||||||
*
|
|
||||||
* @param user client user
|
* @param user client user
|
||||||
* @param connection incoming connection
|
* @param connection incoming connection
|
||||||
* @param addr InetAddress of incoming connection
|
* @param addr InetAddress of incoming connection
|
||||||
* @throws org.apache.hadoop.security.authorize.AuthorizationException
|
* @throws AuthorizationException when the client isn't authorized to talk the protocol
|
||||||
* when the client isn't authorized to talk the protocol
|
|
||||||
*/
|
*/
|
||||||
public synchronized void authorize(UserGroupInformation user,
|
public void authorize(UserGroupInformation user, ConnectionHeader connection,
|
||||||
ConnectionHeader connection, InetAddress addr)
|
InetAddress addr) throws AuthorizationException {
|
||||||
throws AuthorizationException {
|
|
||||||
if (authorize) {
|
if (authorize) {
|
||||||
Class<?> c = getServiceInterface(services, connection.getServiceName());
|
Class<?> c = getServiceInterface(services, connection.getServiceName());
|
||||||
this.authManager.authorize(user != null ? user : null, c, getConf(), addr);
|
synchronized (authManager) {
|
||||||
|
authManager.authorize(user, c, getConf(), addr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue