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

Colin Patrick McCabe commented on HDFS-6450:
--------------------------------------------

bq. Would be a (small) shame though if to get hedged non-positional reads one 
has to bring in erasure coding.

I understand the frustration.  It would certainly be nice to have hedged 
non-positional reads, for HBase and other things.  The problem that we have 
always had with hedged non-positional reads is that they don't work well (or 
really at all) with short-circuit reads.  We simply don't have any way to 
interrupt a blocking read from a file descriptor, other than closing the file 
descriptor.  And closing the FD will also disrupt any other clients that are 
reading from that FD (the short-circuit code shares FDs across multiple 
readers).

This problem doesn't exist for erasure encoding because erasure encoding 
doesn't support short-circuit.

Yes, the problem can be solved by doing the read in a Future, but the overhead 
of passing data across threads (and hence across CPU caches, much of the time) 
would be a significant performance regression.

> Support non-positional hedged reads in HDFS
> -------------------------------------------
>
>                 Key: HDFS-6450
>                 URL: https://issues.apache.org/jira/browse/HDFS-6450
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>    Affects Versions: 2.4.0
>            Reporter: Colin Patrick McCabe
>            Assignee: Liang Xie
>         Attachments: HDFS-6450-like-pread.txt
>
>
> HDFS-5776 added support for hedged positional reads.  We should also support 
> hedged non-position reads (aka regular reads).



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

Reply via email to