smengcl commented on a change in pull request #1360: HDDS-2007. Make ozone fs shell command work with OM HA service ids URL: https://github.com/apache/hadoop/pull/1360#discussion_r321916578
########## File path: hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/ha/OMFailoverProxyProvider.java ########## @@ -70,26 +71,46 @@ private final UserGroupInformation ugi; private final Text delegationTokenService; + // TODO: Do we want this to be final? + private String omServiceId; + public OMFailoverProxyProvider(OzoneConfiguration configuration, - UserGroupInformation ugi) throws IOException { + UserGroupInformation ugi, String omServiceId) throws IOException { this.conf = configuration; this.omVersion = RPC.getProtocolVersion(OzoneManagerProtocolPB.class); this.ugi = ugi; - loadOMClientConfigs(conf); + this.omServiceId = omServiceId; + loadOMClientConfigs(conf, this.omServiceId); this.delegationTokenService = computeDelegationTokenService(); currentProxyIndex = 0; currentProxyOMNodeId = omNodeIDList.get(currentProxyIndex); } - private void loadOMClientConfigs(Configuration config) throws IOException { + public OMFailoverProxyProvider(OzoneConfiguration configuration, + UserGroupInformation ugi) throws IOException { + this(configuration, ugi, null); + } + + private void loadOMClientConfigs(Configuration config, String omSvcId) + throws IOException { this.omProxies = new HashMap<>(); this.omProxyInfos = new HashMap<>(); this.omNodeIDList = new ArrayList<>(); - Collection<String> omServiceIds = config.getTrimmedStringCollection( - OZONE_OM_SERVICE_IDS_KEY); + Collection<String> omServiceIds; + if (omSvcId == null) { + // When no OM service id is passed in + // Note: this branch will only be followed when omSvcId is null, + // meaning the host name/service id provided by user doesn't match any + // ozone.om.service.ids on the client side. Therefore, in this case + // just treat it as non-HA by assigning an empty list to omServiceIds + omServiceIds = new ArrayList<>(); + } else { + omServiceIds = Collections.singletonList(omSvcId); + } + // TODO: Remove this warning? Or change the message? Review comment: Done. ---------------------------------------------------------------- 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: us...@infra.apache.org With regards, Apache Git Services --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org