HADOOP-16169. ABFS: Bug fix for getPathProperties.
Author: Da Zhou <da.zhou@microsoft.com>
This commit is contained in:
parent
c2d7429691
commit
024a694684
|
@ -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();
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue