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

Liang Xie commented on HDFS-5776:
---------------------------------

[~saint....@gmail.com], [~cmccabe],  hedged reads doesn't need to be aware of 
weather local read or not.
pread -> fetchBlockByteRange/fetchBlockByteRangeSpeculative -> 
actualGetFromOneDataNode -> getBlockReader
we don't need to handle weather local reader or not, the hedged reads only 
focus on picking a secondary dn, then wait the winner.

In my test, the region server(rs) instance was in the same box with one dn(say 
dn1). Take my first case(dfs.dfsclient.hedged.read.threshold.millis = 500ms) 
for example, in that case, in deed, nearly all of the preads go to the local 
dn1, i could observe io util% always is 100%(really io bound, aha, btw, i filed 
HDFS-5727, hope with that we can alleviate the io somehow, i am planning to dig 
that jira after this done, if you guys have any comments, just put there) 
during the testing, and dn2/dn3's io util% keep 0%.    and in following cases, 
i could see the io util% of dn2/dn3 began to increment to around 5%~20%.


> Support 'hedged' reads in DFSClient
> -----------------------------------
>
>                 Key: HDFS-5776
>                 URL: https://issues.apache.org/jira/browse/HDFS-5776
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: hdfs-client
>    Affects Versions: 3.0.0
>            Reporter: Liang Xie
>            Assignee: Liang Xie
>         Attachments: HDFS-5776-v2.txt, HDFS-5776-v3.txt, HDFS-5776.txt
>
>
> This is a placeholder of hdfs related stuff backport from 
> https://issues.apache.org/jira/browse/HBASE-7509
> The quorum read ability should be helpful especially to optimize read outliers
> we can utilize "dfs.dfsclient.quorum.read.threshold.millis" & 
> "dfs.dfsclient.quorum.read.threadpool.size" to enable/disable the hedged read 
> ability from client side(e.g. HBase), and by using DFSQuorumReadMetrics, we 
> could export the interested metric valus into client system(e.g. HBase's 
> regionserver metric).
> The core logic is in pread code path, we decide to goto the original 
> fetchBlockByteRange or the new introduced fetchBlockByteRangeSpeculative per 
> the above config items.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to