[ 
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: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to