|
@@ -78,11 +78,15 @@ import org.apache.hadoop.hdfs.server.namenode.NameNode;
|
|
|
import org.apache.hadoop.ipc.ProtobufRpcEngine2;
|
|
|
import org.apache.hadoop.ipc.RPC;
|
|
|
import org.apache.hadoop.ipc.RPC.Server;
|
|
|
+import org.apache.hadoop.ipc.RefreshCallQueueProtocol;
|
|
|
import org.apache.hadoop.ipc.RefreshRegistry;
|
|
|
import org.apache.hadoop.ipc.RefreshResponse;
|
|
|
import org.apache.hadoop.ipc.proto.GenericRefreshProtocolProtos;
|
|
|
+import org.apache.hadoop.ipc.proto.RefreshCallQueueProtocolProtos;
|
|
|
import org.apache.hadoop.ipc.protocolPB.GenericRefreshProtocolPB;
|
|
|
import org.apache.hadoop.ipc.protocolPB.GenericRefreshProtocolServerSideTranslatorPB;
|
|
|
+import org.apache.hadoop.ipc.protocolPB.RefreshCallQueueProtocolPB;
|
|
|
+import org.apache.hadoop.ipc.protocolPB.RefreshCallQueueProtocolServerSideTranslatorPB;
|
|
|
import org.apache.hadoop.security.AccessControlException;
|
|
|
import org.apache.hadoop.security.UserGroupInformation;
|
|
|
import org.apache.hadoop.security.authorize.ProxyUsers;
|
|
@@ -98,7 +102,7 @@ import org.apache.hadoop.thirdparty.protobuf.BlockingService;
|
|
|
* router. It is created, started, and stopped by {@link Router}.
|
|
|
*/
|
|
|
public class RouterAdminServer extends AbstractService
|
|
|
- implements RouterAdminProtocol {
|
|
|
+ implements RouterAdminProtocol, RefreshCallQueueProtocol {
|
|
|
|
|
|
private static final Logger LOG =
|
|
|
LoggerFactory.getLogger(RouterAdminServer.class);
|
|
@@ -184,8 +188,16 @@ public class RouterAdminServer extends AbstractService
|
|
|
GenericRefreshProtocolProtos.GenericRefreshProtocolService.
|
|
|
newReflectiveBlockingService(genericRefreshXlator);
|
|
|
|
|
|
+ RefreshCallQueueProtocolServerSideTranslatorPB refreshCallQueueXlator =
|
|
|
+ new RefreshCallQueueProtocolServerSideTranslatorPB(this);
|
|
|
+ BlockingService refreshCallQueueService =
|
|
|
+ RefreshCallQueueProtocolProtos.RefreshCallQueueProtocolService.
|
|
|
+ newReflectiveBlockingService(refreshCallQueueXlator);
|
|
|
+
|
|
|
DFSUtil.addPBProtocol(conf, GenericRefreshProtocolPB.class,
|
|
|
genericRefreshService, adminServer);
|
|
|
+ DFSUtil.addPBProtocol(conf, RefreshCallQueueProtocolPB.class,
|
|
|
+ refreshCallQueueService, adminServer);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -643,4 +655,12 @@ public class RouterAdminServer extends AbstractService
|
|
|
ProxyUsers.refreshSuperUserGroupsConfiguration();
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
+ @Override // RefreshCallQueueProtocol
|
|
|
+ public void refreshCallQueue() throws IOException {
|
|
|
+ LOG.info("Refreshing call queue.");
|
|
|
+
|
|
|
+ Configuration configuration = new Configuration();
|
|
|
+ router.getRpcServer().getServer().refreshCallQueue(configuration);
|
|
|
+ }
|
|
|
}
|