Skip to content

Commit e208d71

Browse files
committed
HDFS-16411 RBF: RouterId is NULL when set dfs.federation.router.rpc.enable=false; checkstyle
1 parent 832bc38 commit e208d71

File tree

2 files changed

+30
-25
lines changed
  • hadoop-hdfs-project/hadoop-hdfs-rbf/src
    • main/java/org/apache/hadoop/hdfs/server/federation/router
    • test/java/org/apache/hadoop/hdfs/server/federation/router

2 files changed

+30
-25
lines changed

hadoop-hdfs-project/hadoop-hdfs-rbf/src/main/java/org/apache/hadoop/hdfs/server/federation/router/Router.java

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -187,23 +187,8 @@ protected void serviceInit(Configuration configuration) throws Exception {
187187
throw new IOException("Cannot find subcluster resolver");
188188
}
189189

190-
if (conf.getBoolean(
191-
RBFConfigKeys.DFS_ROUTER_RPC_ENABLE,
192-
RBFConfigKeys.DFS_ROUTER_RPC_ENABLE_DEFAULT)) {
193-
// Create RPC server
194-
this.rpcServer = createRpcServer();
195-
addService(this.rpcServer);
196-
this.setRpcServerAddress(rpcServer.getRpcAddress());
197-
} else {
198-
InetSocketAddress confRpcAddress = conf.getSocketAddr(
199-
RBFConfigKeys.DFS_ROUTER_RPC_BIND_HOST_KEY,
200-
RBFConfigKeys.DFS_ROUTER_RPC_ADDRESS_KEY,
201-
RBFConfigKeys.DFS_ROUTER_RPC_ADDRESS_DEFAULT,
202-
RBFConfigKeys.DFS_ROUTER_RPC_PORT_DEFAULT);
203-
204-
String hostname = InetAddress.getLocalHost().getHostName();
205-
setRouterId(hostname + ":" + confRpcAddress.getPort());
206-
}
190+
// whether create rpc server or not, set routerId anyway.
191+
setRpcServer();
207192

208193
if (conf.getBoolean(
209194
RBFConfigKeys.DFS_ROUTER_ADMIN_ENABLE,
@@ -395,6 +380,26 @@ public void run() {
395380
// RPC Server
396381
/////////////////////////////////////////////////////////
397382

383+
private void setRpcServer() throws IOException {
384+
if (conf.getBoolean(
385+
RBFConfigKeys.DFS_ROUTER_RPC_ENABLE,
386+
RBFConfigKeys.DFS_ROUTER_RPC_ENABLE_DEFAULT)) {
387+
// Create RPC server
388+
this.rpcServer = createRpcServer();
389+
addService(this.rpcServer);
390+
this.setRpcServerAddress(rpcServer.getRpcAddress());
391+
} else {
392+
InetSocketAddress confRpcAddress = conf.getSocketAddr(
393+
RBFConfigKeys.DFS_ROUTER_RPC_BIND_HOST_KEY,
394+
RBFConfigKeys.DFS_ROUTER_RPC_ADDRESS_KEY,
395+
RBFConfigKeys.DFS_ROUTER_RPC_ADDRESS_DEFAULT,
396+
RBFConfigKeys.DFS_ROUTER_RPC_PORT_DEFAULT);
397+
398+
String hostname = InetAddress.getLocalHost().getHostName();
399+
setRouterId(hostname + ":" + confRpcAddress.getPort());
400+
}
401+
}
402+
398403
/**
399404
* Create a new Router RPC server to proxy ClientProtocol requests.
400405
*

hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouter.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -223,14 +223,14 @@ public void testRouterMetricsWhenDisabled() throws Exception {
223223

224224
@Test
225225
public void testSwitchRouter() throws IOException {
226-
assertRouterHeartbeater(true,true, true);
227-
assertRouterHeartbeater(true,true, false);
228-
assertRouterHeartbeater(true,false, true);
229-
assertRouterHeartbeater(true,false, false);
230-
assertRouterHeartbeater(false,true, true);
231-
assertRouterHeartbeater(false,true, false);
232-
assertRouterHeartbeater(false,false, true);
233-
assertRouterHeartbeater(false,false, false);
226+
assertRouterHeartbeater(true, true, true);
227+
assertRouterHeartbeater(true, true, false);
228+
assertRouterHeartbeater(true, false, true);
229+
assertRouterHeartbeater(true, false, false);
230+
assertRouterHeartbeater(false, true, true);
231+
assertRouterHeartbeater(false, true, false);
232+
assertRouterHeartbeater(false, false, true);
233+
assertRouterHeartbeater(false, false, false);
234234
}
235235

236236
/**

0 commit comments

Comments
 (0)