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 Yuan Gao
parent c2d7429691
commit 024a694684
3 changed files with 10 additions and 10 deletions

View File

@ -276,13 +276,13 @@ public class AzureBlobFileSystemStore {
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);
@ -364,7 +364,7 @@ public class AzureBlobFileSystemStore {
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));
@ -392,7 +392,7 @@ public class AzureBlobFileSystemStore {
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));
@ -468,7 +468,7 @@ public class AzureBlobFileSystemStore {
? 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

@ -338,7 +338,7 @@ public class AbfsClient {
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();
@ -346,7 +346,7 @@ public class AbfsClient {
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 class ITestFileSystemProperties extends AbstractAbfsIntegrationTest {
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 class ITestFileSystemProperties extends AbstractAbfsIntegrationTest {
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);
} }