[ 
https://issues.apache.org/jira/browse/HADOOP-16852?focusedWorklogId=636788&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-636788
 ]

ASF GitHub Bot logged work on HADOOP-16852:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 11/Aug/21 07:44
            Start Date: 11/Aug/21 07:44
    Worklog Time Spent: 10m 
      Work Description: snvijaya commented on a change in pull request #1898:
URL: https://github.com/apache/hadoop/pull/1898#discussion_r686581385



##########
File path: 
hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/services/ReadBufferManager.java
##########
@@ -253,7 +258,12 @@ private synchronized boolean tryEvict() {
   }
 
   private boolean evict(final ReadBuffer buf) {
-    freeList.push(buf.getBufferindex());
+    // As failed ReadBuffers (bufferIndx = -1) are saved in completedReadList,
+    // avoid adding it to freeList.
+    if (buf.getBufferindex() != -1) {
+      freeList.push(buf.getBufferindex());
+    }

Review comment:
       Its set to -1 when read fails. You will find the diff for this in 
ReadBuffer.java line 110.
   There is an issue with this commit though, for which a hotfix was made. 
Incase its relevant to your change -> 
https://issues.apache.org/jira/browse/HADOOP-17301
   Will check on your PR by EOW.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 636788)
    Time Spent: 20m  (was: 10m)

> ABFS: Send error back to client for Read Ahead request failure
> --------------------------------------------------------------
>
>                 Key: HADOOP-16852
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16852
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/azure
>    Affects Versions: 3.3.1
>            Reporter: Sneha Vijayarajan
>            Assignee: Sneha Vijayarajan
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.3.1
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Issue seen by a customer:
> The failed requests we were seeing in the AbfsClient logging actually never 
> made it out over the wire. We have found that there’s an issue with ADLS 
> passthrough and the 8 read ahead threads that ADLSv2 spawns in 
> ReadBufferManager.java. We depend on thread local storage in order to get the 
> right JWT token and those threads do not have the right information in their 
> thread local storage. Thus, when they pick up a task from the read ahead 
> queue they fail by throwing an AzureCredentialNotFoundException exception in 
> AbfsRestOperation.executeHttpOperation() where it calls 
> client.getAccessToken(). This exception is silently swallowed by the read 
> ahead threads in ReadBufferWorker.run(). As a result, every read ahead 
> attempt results in a failed executeHttpOperation(), but still calls 
> AbfsClientThrottlingIntercept.updateMetrics() and contributes to throttling 
> (despite not making it out over the wire). After the read aheads fail, the 
> main task thread performs the read with the right thread local storage 
> information and succeeds, but first sleeps for up to 10 seconds due to the 
> throttling.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to