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

Hudson commented on HDFS-10182:
-------------------------------

FAILURE: Integrated in Hadoop-trunk-Commit #9510 (See 
[https://builds.apache.org/job/Hadoop-trunk-Commit/9510/])
HDFS-10182. Hedged read might overwrite user's buf. Contributed by 
(waltersu4549: rev d8383c687c95dbb37effa307ab2d41497da1cfc2)
* 
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java


> Hedged read might overwrite user's buf
> --------------------------------------
>
>                 Key: HDFS-10182
>                 URL: https://issues.apache.org/jira/browse/HDFS-10182
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: zhouyingchao
>            Assignee: zhouyingchao
>             Fix For: 2.7.3
>
>         Attachments: HDFS-10182-001.patch
>
>
> In DFSInputStream::hedgedFetchBlockByteRange, during the first attempt, the 
> passed-in buf from the caller is passed to another thread to fill.  If the 
> first attempt is timed out, the second attempt would be issued with another 
> temp ByteBuffer. Now  suppose the second attempt wins and the first attempt 
> is blocked somewhere in the IO path. The second attempt's result would be 
> copied to the buf provided by the caller and then caller would think the 
> pread is all set. Later the caller might use the buf to do something else 
> (for e.g. read another chunk of data), however, the first attempt in earlier 
> hedgedFetchBlockByteRange might get some data and fill into the buf ...     
> If this happens, the caller's buf would then be corrupted.
> To fix the issue, we should allocate a temp buf for the first attempt too.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to