HDFS-15839. RBF: Cannot get method setBalancerBandwidth on Router Client. Contributed by Yang Yun.
This commit is contained in:
parent
b9b49ed956
commit
2ce5752fa8
|
@ -1183,7 +1183,7 @@ public class RouterClientProtocol implements ClientProtocol {
|
||||||
rpcServer.checkOperation(NameNode.OperationCategory.UNCHECKED);
|
rpcServer.checkOperation(NameNode.OperationCategory.UNCHECKED);
|
||||||
|
|
||||||
RemoteMethod method = new RemoteMethod("setBalancerBandwidth",
|
RemoteMethod method = new RemoteMethod("setBalancerBandwidth",
|
||||||
new Class<?>[] {Long.class}, bandwidth);
|
new Class<?>[] {long.class}, bandwidth);
|
||||||
final Set<FederationNamespaceInfo> nss = namenodeResolver.getNamespaces();
|
final Set<FederationNamespaceInfo> nss = namenodeResolver.getNamespaces();
|
||||||
rpcClient.invokeConcurrent(nss, method, true, false);
|
rpcClient.invokeConcurrent(nss, method, true, false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,6 +99,7 @@ import org.apache.hadoop.hdfs.protocol.HdfsConstants.SafeModeAction;
|
||||||
import org.apache.hadoop.hdfs.security.token.block.ExportedBlockKeys;
|
import org.apache.hadoop.hdfs.security.token.block.ExportedBlockKeys;
|
||||||
import org.apache.hadoop.hdfs.server.blockmanagement.BlockManager;
|
import org.apache.hadoop.hdfs.server.blockmanagement.BlockManager;
|
||||||
import org.apache.hadoop.hdfs.server.blockmanagement.BlockManagerTestUtil;
|
import org.apache.hadoop.hdfs.server.blockmanagement.BlockManagerTestUtil;
|
||||||
|
import org.apache.hadoop.hdfs.server.datanode.DataNode;
|
||||||
import org.apache.hadoop.hdfs.server.federation.MiniRouterDFSCluster;
|
import org.apache.hadoop.hdfs.server.federation.MiniRouterDFSCluster;
|
||||||
import org.apache.hadoop.hdfs.server.federation.MiniRouterDFSCluster.NamenodeContext;
|
import org.apache.hadoop.hdfs.server.federation.MiniRouterDFSCluster.NamenodeContext;
|
||||||
import org.apache.hadoop.hdfs.server.federation.MiniRouterDFSCluster.RouterContext;
|
import org.apache.hadoop.hdfs.server.federation.MiniRouterDFSCluster.RouterContext;
|
||||||
|
@ -1934,4 +1935,16 @@ public class TestRouterRpc {
|
||||||
.contains("callerContext=clientContext,clientIp:"));
|
.contains("callerContext=clientContext,clientIp:"));
|
||||||
assertTrue(verifyFileExists(routerFS, dirPath));
|
assertTrue(verifyFileExists(routerFS, dirPath));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSetBalancerBandwidth() throws Exception {
|
||||||
|
long defaultBandwidth =
|
||||||
|
DFSConfigKeys.DFS_DATANODE_BALANCE_BANDWIDTHPERSEC_DEFAULT;
|
||||||
|
long newBandwidth = defaultBandwidth * 2;
|
||||||
|
routerProtocol.setBalancerBandwidth(newBandwidth);
|
||||||
|
ArrayList<DataNode> datanodes = cluster.getCluster().getDataNodes();
|
||||||
|
GenericTestUtils.waitFor(() -> {
|
||||||
|
return datanodes.get(0).getBalancerBandwidth() == newBandwidth;
|
||||||
|
}, 100, 60 * 1000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue