amaliujia commented on a change in pull request #1722:
URL: https://github.com/apache/ozone/pull/1722#discussion_r571378372
##########
File path:
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ScmUtils.java
##########
@@ -60,4 +71,111 @@ public static File createSCMDir(String dirPath) {
}
return dirFile;
}
+
+ public static Collection<String> getSCMNodeIds(ConfigurationSource conf,
+ String scmServiceId) {
+ String key = addSuffix(ScmConfigKeys.OZONE_SCM_NODES_KEY, scmServiceId);
+ return conf.getTrimmedStringCollection(key);
+ }
+
+ public static InetSocketAddress getScmBlockProtocolServerAddress(
+ OzoneConfiguration conf, String localScmServiceId, String nodeId) {
+ String bindHostKey = ScmUtils.addKeySuffixes(
+ ScmConfigKeys.OZONE_SCM_BLOCK_CLIENT_BIND_HOST_KEY,
+ localScmServiceId, nodeId);
+ final Optional<String> host = getHostNameFromConfigKeys(conf, bindHostKey);
+
+ String addressKey = ScmUtils.addKeySuffixes(
+ ScmConfigKeys.OZONE_SCM_BLOCK_CLIENT_ADDRESS_KEY,
+ localScmServiceId, nodeId);
+ final OptionalInt port = getPortNumberFromConfigKeys(conf, addressKey);
+
+ return NetUtils.createSocketAddr(
+ host.orElse(
+ ScmConfigKeys.OZONE_SCM_BLOCK_CLIENT_BIND_HOST_DEFAULT) + ":" +
+ port.orElse(ScmConfigKeys.OZONE_SCM_BLOCK_CLIENT_PORT_DEFAULT));
+ }
+
+ public static String getScmBlockProtocolServerAddressKey(
+ String serviceId, String nodeId) {
+ return ScmUtils.addKeySuffixes(
+ ScmConfigKeys.OZONE_SCM_BLOCK_CLIENT_ADDRESS_KEY,
+ serviceId, nodeId);
+ }
+
+ public static InetSocketAddress getClientProtocolServerAddress(
+ OzoneConfiguration conf, String localScmServiceId, String nodeId) {
+ String bindHostKey = ScmUtils.addKeySuffixes(
+ ScmConfigKeys.OZONE_SCM_CLIENT_BIND_HOST_KEY,
+ localScmServiceId, nodeId);
+
+ final String host = getHostNameFromConfigKeys(conf, bindHostKey)
+ .orElse(ScmConfigKeys.OZONE_SCM_CLIENT_BIND_HOST_DEFAULT);
+
+ String addressKey = ScmUtils.addKeySuffixes(
+ ScmConfigKeys.OZONE_SCM_CLIENT_ADDRESS_KEY,
+ localScmServiceId, nodeId);
+
+ final int port = getPortNumberFromConfigKeys(conf, addressKey)
+ .orElse(ScmConfigKeys.OZONE_SCM_CLIENT_PORT_DEFAULT);
+
+ return NetUtils.createSocketAddr(host + ":" + port);
+ }
+
+ public static String getClientProtocolServerAddressKey(
+ String serviceId, String nodeId) {
+ return ScmUtils.addKeySuffixes(
+ ScmConfigKeys.OZONE_SCM_CLIENT_ADDRESS_KEY,
+ serviceId, nodeId);
+ }
+
+ public static InetSocketAddress getScmDataNodeBindAddress(
+ ConfigurationSource conf, String localScmServiceId, String nodeId) {
+ String bindHostKey = ScmUtils.addKeySuffixes(
+ ScmConfigKeys.OZONE_SCM_DATANODE_BIND_HOST_KEY,
+ localScmServiceId, nodeId
+ );
+ final Optional<String> host = getHostNameFromConfigKeys(conf, bindHostKey);
+ String addressKey = ScmUtils.addKeySuffixes(
+ ScmConfigKeys.OZONE_SCM_DATANODE_ADDRESS_KEY,
+ localScmServiceId, nodeId
+ );
+ final OptionalInt port = getPortNumberFromConfigKeys(conf, addressKey);
+
+ return NetUtils.createSocketAddr(
+ host.orElse(ScmConfigKeys.OZONE_SCM_DATANODE_BIND_HOST_DEFAULT) + ":" +
+ port.orElse(ScmConfigKeys.OZONE_SCM_DATANODE_PORT_DEFAULT));
+ }
+
+ public static String getScmDataNodeBindAddressKey(
+ String serviceId, String nodeId) {
+ return ScmUtils.addKeySuffixes(
+ ScmConfigKeys.OZONE_SCM_DATANODE_ADDRESS_KEY,
+ serviceId, nodeId);
+ }
+
+ private static String addSuffix(String key, String suffix) {
+ if (suffix == null || suffix.isEmpty()) {
+ return key;
+ }
Review comment:
I created a common utility and moved some functions there.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]