HADOOP-16169. ABFS: Bug fix for getPathProperties.

Author:    Da Zhou <da.zhou@microsoft.com>
This commit is contained in:
Da Zhou 2019-03-08 13:53:08 +00:00 committed by Steve Loughran
parent de15a66d78
commit e0260417ad
No known key found for this signature in database
GPG Key ID: D22CF846DBB162A0
3 changed files with 10 additions and 10 deletions

View File

@ -284,13 +284,13 @@ public void setFilesystemProperties(final Hashtable<String, String> properties)
client.setFilesystemProperties(commaSeparatedProperties); client.setFilesystemProperties(commaSeparatedProperties);
} }
public Hashtable<String, String> getPathProperties(final Path path) throws AzureBlobFileSystemException { public Hashtable<String, String> getPathStatus(final Path path) throws AzureBlobFileSystemException {
LOG.debug("getPathProperties for filesystem: {} path: {}", LOG.debug("getPathStatus for filesystem: {} path: {}",
client.getFileSystem(), client.getFileSystem(),
path); path);
final Hashtable<String, String> parsedXmsProperties; final Hashtable<String, String> parsedXmsProperties;
final AbfsRestOperation op = client.getPathProperties(AbfsHttpConstants.FORWARD_SLASH + getRelativePath(path), isNamespaceEnabled); final AbfsRestOperation op = client.getPathStatus(AbfsHttpConstants.FORWARD_SLASH + getRelativePath(path));
final String xMsProperties = op.getResult().getResponseHeader(HttpHeaderConfigurations.X_MS_PROPERTIES); final String xMsProperties = op.getResult().getResponseHeader(HttpHeaderConfigurations.X_MS_PROPERTIES);
@ -372,7 +372,7 @@ public AbfsInputStream openFileForRead(final Path path, final FileSystem.Statist
client.getFileSystem(), client.getFileSystem(),
path); path);
final AbfsRestOperation op = client.getPathProperties(AbfsHttpConstants.FORWARD_SLASH + getRelativePath(path), isNamespaceEnabled); final AbfsRestOperation op = client.getPathStatus(AbfsHttpConstants.FORWARD_SLASH + getRelativePath(path));
final String resourceType = op.getResult().getResponseHeader(HttpHeaderConfigurations.X_MS_RESOURCE_TYPE); final String resourceType = op.getResult().getResponseHeader(HttpHeaderConfigurations.X_MS_RESOURCE_TYPE);
final long contentLength = Long.parseLong(op.getResult().getResponseHeader(HttpHeaderConfigurations.CONTENT_LENGTH)); final long contentLength = Long.parseLong(op.getResult().getResponseHeader(HttpHeaderConfigurations.CONTENT_LENGTH));
@ -400,7 +400,7 @@ public OutputStream openFileForWrite(final Path path, final boolean overwrite) t
path, path,
overwrite); overwrite);
final AbfsRestOperation op = client.getPathProperties(AbfsHttpConstants.FORWARD_SLASH + getRelativePath(path), isNamespaceEnabled); final AbfsRestOperation op = client.getPathStatus(AbfsHttpConstants.FORWARD_SLASH + getRelativePath(path));
final String resourceType = op.getResult().getResponseHeader(HttpHeaderConfigurations.X_MS_RESOURCE_TYPE); final String resourceType = op.getResult().getResponseHeader(HttpHeaderConfigurations.X_MS_RESOURCE_TYPE);
final Long contentLength = Long.valueOf(op.getResult().getResponseHeader(HttpHeaderConfigurations.CONTENT_LENGTH)); final Long contentLength = Long.valueOf(op.getResult().getResponseHeader(HttpHeaderConfigurations.CONTENT_LENGTH));
@ -476,7 +476,7 @@ public FileStatus getFileStatus(final Path path) throws IOException {
? client.getAclStatus(AbfsHttpConstants.FORWARD_SLASH + AbfsHttpConstants.ROOT_PATH) ? client.getAclStatus(AbfsHttpConstants.FORWARD_SLASH + AbfsHttpConstants.ROOT_PATH)
: client.getFilesystemProperties(); : client.getFilesystemProperties();
} else { } else {
op = client.getPathProperties(AbfsHttpConstants.FORWARD_SLASH + getRelativePath(path), isNamespaceEnabled); op = client.getPathStatus(AbfsHttpConstants.FORWARD_SLASH + getRelativePath(path));
} }
final long blockSize = abfsConfiguration.getAzureBlockSize(); final long blockSize = abfsConfiguration.getAzureBlockSize();

View File

@ -348,7 +348,7 @@ public AbfsRestOperation setPathProperties(final String path, final String prope
return op; return op;
} }
public AbfsRestOperation getPathProperties(final String path, boolean isNameSpaceEnabled) throws AzureBlobFileSystemException { public AbfsRestOperation getPathStatus(final String path) throws AzureBlobFileSystemException {
final List<AbfsHttpHeader> requestHeaders = createDefaultHeaders(); final List<AbfsHttpHeader> requestHeaders = createDefaultHeaders();
final AbfsUriQueryBuilder abfsUriQueryBuilder = createDefaultUriQueryBuilder(); final AbfsUriQueryBuilder abfsUriQueryBuilder = createDefaultUriQueryBuilder();
@ -356,7 +356,7 @@ public AbfsRestOperation getPathProperties(final String path, boolean isNameSpac
final URL url = createRequestUrl(path, abfsUriQueryBuilder.toString()); final URL url = createRequestUrl(path, abfsUriQueryBuilder.toString());
final AbfsRestOperation op = new AbfsRestOperation( final AbfsRestOperation op = new AbfsRestOperation(
isNameSpaceEnabled ? AbfsRestOperationType.GetPathProperties : AbfsRestOperationType.GetPathStatus, AbfsRestOperationType.GetPathStatus,
this, this,
HTTP_METHOD_HEAD, HTTP_METHOD_HEAD,
url, url,

View File

@ -78,7 +78,7 @@ public void testBase64PathProperties() throws Exception {
touch(TEST_PATH); touch(TEST_PATH);
fs.getAbfsStore().setPathProperties(TEST_PATH, properties); fs.getAbfsStore().setPathProperties(TEST_PATH, properties);
Hashtable<String, String> fetchedProperties = Hashtable<String, String> fetchedProperties =
fs.getAbfsStore().getPathProperties(TEST_PATH); fs.getAbfsStore().getPathStatus(TEST_PATH);
assertEquals(properties, fetchedProperties); assertEquals(properties, fetchedProperties);
} }
@ -101,7 +101,7 @@ public void testBase64InvalidPathProperties() throws Exception {
properties.put("key", "{ value: valueTest兩 }"); properties.put("key", "{ value: valueTest兩 }");
touch(TEST_PATH); touch(TEST_PATH);
fs.getAbfsStore().setPathProperties(TEST_PATH, properties); fs.getAbfsStore().setPathProperties(TEST_PATH, properties);
Hashtable<String, String> fetchedProperties = fs.getAbfsStore().getPathProperties(TEST_PATH); Hashtable<String, String> fetchedProperties = fs.getAbfsStore().getPathStatus(TEST_PATH);
assertEquals(properties, fetchedProperties); assertEquals(properties, fetchedProperties);
} }