[
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)