[
https://issues.apache.org/jira/browse/HADOOP-19137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17849047#comment-17849047
]
ASF GitHub Bot commented on HADOOP-19137:
-----------------------------------------
mukund-thakur commented on code in PR #6752:
URL: https://github.com/apache/hadoop/pull/6752#discussion_r1609025458
##########
hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java:
##########
@@ -223,6 +225,21 @@ public void initialize(URI uri, Configuration
configuration)
}
}
+ if ((abfsConfiguration.createEncryptionContextProvider() != null
+ || StringUtils.isNotEmpty(
+ abfsConfiguration.getEncodedClientProvidedEncryptionKey()))
+ && !getIsNamespaceEnabled(
+ new TracingContext(clientCorrelationId, fileSystemId,
+ FSOperationType.CREATE_FILESYSTEM, tracingHeaderFormat,
listener))) {
+ /*
+ * Close the filesystem gracefully before throwing exception. Graceful
close
+ * will ensure that all resources are released properly.
+ */
+ close();
+ throw new PathIOException(uri.getPath(),
+ CPK_IN_NON_HNS_ACCOUNT_ERROR_MESSAGE);
Review Comment:
maybe add what needs to be configured correctly.
##########
hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java:
##########
@@ -223,6 +225,21 @@ public void initialize(URI uri, Configuration
configuration)
}
}
+ if ((abfsConfiguration.createEncryptionContextProvider() != null
Review Comment:
maybe exctract into small methods with self explanatory names which can make
this check easier to understand.
##########
hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java:
##########
@@ -223,6 +225,21 @@ public void initialize(URI uri, Configuration
configuration)
}
}
+ if ((abfsConfiguration.createEncryptionContextProvider() != null
+ || StringUtils.isNotEmpty(
+ abfsConfiguration.getEncodedClientProvidedEncryptionKey()))
+ && !getIsNamespaceEnabled(
+ new TracingContext(clientCorrelationId, fileSystemId,
+ FSOperationType.CREATE_FILESYSTEM, tracingHeaderFormat,
listener))) {
+ /*
+ * Close the filesystem gracefully before throwing exception. Graceful
close
+ * will ensure that all resources are released properly.
+ */
+ close();
Review Comment:
what if close() throws exception?
##########
hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/constants/AbfsHttpConstants.java:
##########
@@ -165,5 +165,8 @@ public static ApiVersion getCurrentVersion() {
*/
public static final Integer HTTP_STATUS_CATEGORY_QUOTIENT = 100;
+ public static final String CPK_IN_NON_HNS_ACCOUNT_ERROR_MESSAGE =
+ "Non HNS account can not have CPK configs enabled.";
Review Comment:
add the property names here such that it is easier for a user to find and
remove those.
##########
hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystem.java:
##########
@@ -223,6 +225,21 @@ public void initialize(URI uri, Configuration
configuration)
}
}
+ if ((abfsConfiguration.createEncryptionContextProvider() != null
Review Comment:
add a comment explaining the logic.
> [ABFS]:Extra getAcl call while calling the very first API of FileSystem
> -----------------------------------------------------------------------
>
> Key: HADOOP-19137
> URL: https://issues.apache.org/jira/browse/HADOOP-19137
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: fs/azure
> Affects Versions: 3.4.0
> Reporter: Pranav Saxena
> Assignee: Pranav Saxena
> Priority: Major
> Labels: pull-request-available
>
> Store doesn't flow in the namespace information to the client.
> In https://github.com/apache/hadoop/pull/6221, getIsNamespaceEnabled is added
> in client methods which checks if namespace information is there or not, and
> if not there, it will make getAcl call and set the field. Once the field is
> set, it would be used in future getIsNamespaceEnabled method calls for a
> given AbfsClient.
> Since, CPK both global and encryptionContext are only for hns account, the
> fix that is proposed is that we would fail fs init if its non-hns account and
> cpk config is given.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]