HDDS-2057. Incorrect Default OM Port in Ozone FS URI Error Message.
Signed-off-by: Anu Engineer <aengineer@apache.org>
This commit is contained in:
parent
39e82acc48
commit
95010a41fc
|
@ -43,6 +43,7 @@ import org.apache.hadoop.fs.FileSystem;
|
||||||
import org.apache.hadoop.fs.Path;
|
import org.apache.hadoop.fs.Path;
|
||||||
import org.apache.hadoop.fs.PathIsNotEmptyDirectoryException;
|
import org.apache.hadoop.fs.PathIsNotEmptyDirectoryException;
|
||||||
import org.apache.hadoop.fs.permission.FsPermission;
|
import org.apache.hadoop.fs.permission.FsPermission;
|
||||||
|
import org.apache.hadoop.hdds.conf.OzoneConfiguration;
|
||||||
import org.apache.hadoop.ozone.OmUtils;
|
import org.apache.hadoop.ozone.OmUtils;
|
||||||
import org.apache.hadoop.ozone.om.exceptions.OMException;
|
import org.apache.hadoop.ozone.om.exceptions.OMException;
|
||||||
import org.apache.hadoop.security.UserGroupInformation;
|
import org.apache.hadoop.security.UserGroupInformation;
|
||||||
|
@ -87,11 +88,20 @@ public class BasicOzoneFileSystem extends FileSystem {
|
||||||
private static final Pattern URL_SCHEMA_PATTERN =
|
private static final Pattern URL_SCHEMA_PATTERN =
|
||||||
Pattern.compile("([^\\.]+)\\.([^\\.]+)\\.{0,1}(.*)");
|
Pattern.compile("([^\\.]+)\\.([^\\.]+)\\.{0,1}(.*)");
|
||||||
|
|
||||||
private static final String URI_EXCEPTION_TEXT = "Ozone file system URL " +
|
private OzoneConfiguration getOzoneConf(Configuration conf) {
|
||||||
"should be one of the following formats: " +
|
|
||||||
"o3fs://bucket.volume/key OR " +
|
return (conf instanceof OzoneConfiguration) ?
|
||||||
"o3fs://bucket.volume.om-host.example.com/key OR " +
|
(OzoneConfiguration) conf : new OzoneConfiguration(conf);
|
||||||
"o3fs://bucket.volume.om-host.example.com:5678/key";
|
}
|
||||||
|
|
||||||
|
private String getUriExceptionText(Configuration conf) {
|
||||||
|
|
||||||
|
return "Ozone file system URL should be one of the following formats: "
|
||||||
|
+ "o3fs://bucket.volume/key OR "
|
||||||
|
+ "o3fs://bucket.volume.om-host.example.com/key OR "
|
||||||
|
+ "o3fs://bucket.volume.om-host.example.com:"
|
||||||
|
+ OmUtils.getOmRpcPort(getOzoneConf(conf)) + "/key";
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initialize(URI name, Configuration conf) throws IOException {
|
public void initialize(URI name, Configuration conf) throws IOException {
|
||||||
|
@ -106,7 +116,7 @@ public class BasicOzoneFileSystem extends FileSystem {
|
||||||
Matcher matcher = URL_SCHEMA_PATTERN.matcher(authority);
|
Matcher matcher = URL_SCHEMA_PATTERN.matcher(authority);
|
||||||
|
|
||||||
if (!matcher.matches()) {
|
if (!matcher.matches()) {
|
||||||
throw new IllegalArgumentException(URI_EXCEPTION_TEXT);
|
throw new IllegalArgumentException(getUriExceptionText(conf));
|
||||||
}
|
}
|
||||||
String bucketStr = matcher.group(1);
|
String bucketStr = matcher.group(1);
|
||||||
String volumeStr = matcher.group(2);
|
String volumeStr = matcher.group(2);
|
||||||
|
@ -118,14 +128,14 @@ public class BasicOzoneFileSystem extends FileSystem {
|
||||||
String[] parts = remaining.split(":");
|
String[] parts = remaining.split(":");
|
||||||
// Array length should be either 1(host) or 2(host:port)
|
// Array length should be either 1(host) or 2(host:port)
|
||||||
if (parts.length > 2) {
|
if (parts.length > 2) {
|
||||||
throw new IllegalArgumentException(URI_EXCEPTION_TEXT);
|
throw new IllegalArgumentException(getUriExceptionText(conf));
|
||||||
}
|
}
|
||||||
omHost = parts[0];
|
omHost = parts[0];
|
||||||
if (parts.length == 2) {
|
if (parts.length == 2) {
|
||||||
try {
|
try {
|
||||||
omPort = Integer.parseInt(parts[1]);
|
omPort = Integer.parseInt(parts[1]);
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
throw new IllegalArgumentException(URI_EXCEPTION_TEXT);
|
throw new IllegalArgumentException(getUriExceptionText(conf));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// If port number is not specified, read it from config
|
// If port number is not specified, read it from config
|
||||||
|
|
Loading…
Reference in New Issue