[
https://issues.apache.org/jira/browse/HDFS-8920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rui Li updated HDFS-8920:
-------------------------
Attachment: HDFS-8920-HDFS-7285.1.patch
Sorry for taking some time to get back to this. Based on my discussion with Kai
offline, we think it's better to do this in {{DFSStripedInputStream}},
therefore the non-EC path won't be affected.
A simple test shows that the patch reduces the log file size from 60MB to 49KB,
when 5 clients read 10GB file respectively with 2 DN killed.
> Erasure Coding: when recovering lost blocks, logs can be too verbose and hurt
> performance
> -----------------------------------------------------------------------------------------
>
> Key: HDFS-8920
> URL: https://issues.apache.org/jira/browse/HDFS-8920
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Reporter: Rui Li
> Assignee: Rui Li
> Attachments: HDFS-8920-HDFS-7285.1.patch
>
>
> When we test reading data with datanodes killed,
> {{DFSInputStream::getBestNodeDNAddrPair}} becomes a hot spot method and
> effectively blocks the client JVM. This log seems too verbose:
> {code}
> if (chosenNode == null) {
> DFSClient.LOG.warn("No live nodes contain block " + block.getBlock() +
> " after checking nodes = " + Arrays.toString(nodes) +
> ", ignoredNodes = " + ignoredNodes);
> return null;
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)