[ 
https://issues.apache.org/jira/browse/HADOOP-19854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18072181#comment-18072181
 ] 

ASF GitHub Bot commented on HADOOP-19854:
-----------------------------------------

manika137 commented on code in PR #8410:
URL: https://github.com/apache/hadoop/pull/8410#discussion_r3056014459


##########
hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AzureBlobFileSystemStore.java:
##########
@@ -422,17 +423,33 @@ private synchronized boolean 
getNamespaceEnabledInformationFromServer(
     } catch (AbfsRestOperationException ex) {
       // Get ACL status is a HEAD request, its response doesn't contain 
errorCode
       // So can only rely on its status code to determine account type.
-      if (HttpURLConnection.HTTP_BAD_REQUEST != ex.getStatusCode()) {
+      int status = ex.getStatusCode();
+      String message = ex.getMessage();
+
+      // Case 1: 409: Soft delete not supported
+      if (status == HttpURLConnection.HTTP_CONFLICT &&
+              message != null &&
+              message.contains(ERR_SOFT_DELETE_NOT_SUPPORTED)) {
+        /*
+         * HTTP_CONFLICT with soft delete not supported error indicates a FNS 
account.
+         * This occurs when:
+         * 1. FNS-Blob endpoint is used (used with DFS endpoint for getAcl 
call)
+         * 2. FNS-DFS endpoint is used (later internally converted to Blob)
+         * For both cases, namespace should be disabled. No need to throw 
exception.

Review Comment:
   Taken





> ABFS: Forced DFS Endpoint Usage Causes Failure on FNS-Blob Accounts with Soft 
> Delete Enabled
> --------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-19854
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19854
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs/azure
>    Affects Versions: 3.5.0, 3.4.2, 3.4.3
>            Reporter: Manika Joshi
>            Assignee: Manika Joshi
>            Priority: Major
>              Labels: pull-request-available
>
> If _fs.azure.account.hns.enabled_ is not configured, ABFS driver issues a 
> getAcl call +using the DFS endpoint+ to detect the account type (HNS or FNS)
> For FNS Blob accounts with Soft Delete enabled, this behavior leads to 
> failures because the DFS endpoint used does not support Soft Delete semantics.
> Temporary fix is to explicitly set the configuration: 
> _fs.azure.account.hns.enabled_ so the redundant DFS-based detection is 
> bypassed and the issue does not occur.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to