HDFS-3880. Use Builder to build RPC server in HDFS. Contributed by Brandon Li and Junping Du
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1507579 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f888ffbf17
commit
e20cd46dea
|
@ -263,6 +263,9 @@ Release 2.1.0-beta - 2013-07-02
|
|||
HDFS-5024. Make DatanodeProtocol#commitBlockSynchronization idempotent.
|
||||
(Arpit Agarwal via jing9)
|
||||
|
||||
HDFS-3880. Use Builder to build RPC server in HDFS.
|
||||
(Brandon Li and Junping Du via szetszwo)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
HDFS-4465. Optimize datanode ReplicasMap and ReplicaInfo. (atm)
|
||||
|
|
|
@ -450,10 +450,15 @@ public class DataNode extends Configured
|
|||
new ClientDatanodeProtocolServerSideTranslatorPB(this);
|
||||
BlockingService service = ClientDatanodeProtocolService
|
||||
.newReflectiveBlockingService(clientDatanodeProtocolXlator);
|
||||
ipcServer = RPC.getServer(ClientDatanodeProtocolPB.class, service, ipcAddr
|
||||
.getHostName(), ipcAddr.getPort(), conf.getInt(
|
||||
DFS_DATANODE_HANDLER_COUNT_KEY, DFS_DATANODE_HANDLER_COUNT_DEFAULT),
|
||||
false, conf, blockPoolTokenSecretManager);
|
||||
ipcServer = new RPC.Builder(conf)
|
||||
.setProtocol(ClientDatanodeProtocolPB.class)
|
||||
.setInstance(service)
|
||||
.setBindAddress(ipcAddr.getHostName())
|
||||
.setPort(ipcAddr.getPort())
|
||||
.setNumHandlers(
|
||||
conf.getInt(DFS_DATANODE_HANDLER_COUNT_KEY,
|
||||
DFS_DATANODE_HANDLER_COUNT_DEFAULT)).setVerbose(false)
|
||||
.setSecretManager(blockPoolTokenSecretManager).build();
|
||||
|
||||
InterDatanodeProtocolServerSideTranslatorPB interDatanodeProtocolXlator =
|
||||
new InterDatanodeProtocolServerSideTranslatorPB(this);
|
||||
|
|
|
@ -220,12 +220,15 @@ class NameNodeRpcServer implements NamenodeProtocols {
|
|||
int serviceHandlerCount =
|
||||
conf.getInt(DFS_NAMENODE_SERVICE_HANDLER_COUNT_KEY,
|
||||
DFS_NAMENODE_SERVICE_HANDLER_COUNT_DEFAULT);
|
||||
this.serviceRpcServer =
|
||||
RPC.getServer(org.apache.hadoop.hdfs.protocolPB.
|
||||
ClientNamenodeProtocolPB.class, clientNNPbService,
|
||||
serviceRpcAddr.getHostName(), serviceRpcAddr.getPort(),
|
||||
serviceHandlerCount,
|
||||
false, conf, namesystem.getDelegationTokenSecretManager());
|
||||
this.serviceRpcServer = new RPC.Builder(conf)
|
||||
.setProtocol(
|
||||
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolPB.class)
|
||||
.setInstance(clientNNPbService)
|
||||
.setBindAddress(serviceRpcAddr.getHostName())
|
||||
.setPort(serviceRpcAddr.getPort()).setNumHandlers(serviceHandlerCount)
|
||||
.setVerbose(false)
|
||||
.setSecretManager(namesystem.getDelegationTokenSecretManager())
|
||||
.build();
|
||||
|
||||
// Add all the RPC protocols that the namenode implements
|
||||
DFSUtil.addPBProtocol(conf, HAServiceProtocolPB.class, haPbService,
|
||||
|
@ -248,11 +251,13 @@ class NameNodeRpcServer implements NamenodeProtocols {
|
|||
serviceRPCAddress = null;
|
||||
}
|
||||
InetSocketAddress rpcAddr = nn.getRpcServerAddress(conf);
|
||||
this.clientRpcServer = RPC.getServer(
|
||||
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolPB.class,
|
||||
clientNNPbService, rpcAddr.getHostName(),
|
||||
rpcAddr.getPort(), handlerCount, false, conf,
|
||||
namesystem.getDelegationTokenSecretManager());
|
||||
this.clientRpcServer = new RPC.Builder(conf)
|
||||
.setProtocol(
|
||||
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolPB.class)
|
||||
.setInstance(clientNNPbService).setBindAddress(rpcAddr.getHostName())
|
||||
.setPort(rpcAddr.getPort()).setNumHandlers(handlerCount)
|
||||
.setVerbose(false)
|
||||
.setSecretManager(namesystem.getDelegationTokenSecretManager()).build();
|
||||
|
||||
// Add all the RPC protocols that the namenode implements
|
||||
DFSUtil.addPBProtocol(conf, HAServiceProtocolPB.class, haPbService,
|
||||
|
|
|
@ -80,9 +80,11 @@ public class TestClientProtocolWithDelegationToken {
|
|||
DFSConfigKeys.DFS_NAMENODE_DELEGATION_TOKEN_MAX_LIFETIME_DEFAULT,
|
||||
3600000, mockNameSys);
|
||||
sm.startThreads();
|
||||
final Server server = RPC.getServer(ClientProtocol.class, mockNN, ADDRESS,
|
||||
0, 5, true, conf, sm);
|
||||
|
||||
final Server server = new RPC.Builder(conf)
|
||||
.setProtocol(ClientProtocol.class).setInstance(mockNN)
|
||||
.setBindAddress(ADDRESS).setPort(0).setNumHandlers(5).setVerbose(true)
|
||||
.setSecretManager(sm).build();
|
||||
|
||||
server.start();
|
||||
|
||||
final UserGroupInformation current = UserGroupInformation.getCurrentUser();
|
||||
|
|
|
@ -232,8 +232,9 @@ public class TestBlockToken {
|
|||
ProtobufRpcEngine.class);
|
||||
BlockingService service = ClientDatanodeProtocolService
|
||||
.newReflectiveBlockingService(mockDN);
|
||||
return RPC.getServer(ClientDatanodeProtocolPB.class, service, ADDRESS, 0, 5,
|
||||
true, conf, sm);
|
||||
return new RPC.Builder(conf).setProtocol(ClientDatanodeProtocolPB.class)
|
||||
.setInstance(service).setBindAddress(ADDRESS).setPort(0)
|
||||
.setNumHandlers(5).setVerbose(true).setSecretManager(sm).build();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Reference in New Issue