Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.6.1
-
None
-
Reviewed
Description
Right now Balancer gets the NN URIs through DFSUtil#getNameServiceUris, which returns logical URIs in HA is enabled. If IPFailoverProxyProvider is used, Balancer will not be able to start.
I think the bug is at DFSUtil#getNameServiceUris:
for (String nsId : getNameServiceIds(conf)) { if (HAUtil.isHAEnabled(conf, nsId)) { // Add the logical URI of the nameservice. try { ret.add(new URI(HdfsConstants.HDFS_URI_SCHEME + "://" + nsId));
Then if clause should also consider if the FailoverProxyProvider has useLogicalURI enabled. If not, getNameServiceUris should try to resolve the physical URI for this nsId.