[ https://issues.apache.org/jira/browse/HDFS-767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12784527#action_12784527 ]
Ning Zhang commented on HDFS-767: --------------------------------- Thanks Raghu. Both number of retries and the waiting time are configurable. Currently the base wait time is 3 sec. If it is too short, the user can set a higher value through dfs.client.baseTimeWindow.waitOn.BlockMissingException. The response time may be longer with a large base wait window. Or the user can just set the number of retries to be large enough (through dfs.client.max.block.acquire.failures) since the wait window will be increased while the number of retries is increasing. Eventually the wait window will be larger than the time spent to read one block. > Job failure due to BlockMissingException > ---------------------------------------- > > Key: HDFS-767 > URL: https://issues.apache.org/jira/browse/HDFS-767 > Project: Hadoop HDFS > Issue Type: Improvement > Reporter: Ning Zhang > Assignee: Ning Zhang > Attachments: HDFS-767.patch > > > If a block is request by too many mappers/reducers (say, 3000) at the same > time, a BlockMissingException is thrown because it exceeds the upper limit (I > think 256 by default) of number of threads accessing the same block at the > same time. The DFSClient wil catch that exception and retry 3 times after > waiting for 3 seconds. Since the wait time is a fixed value, a lot of clients > will retry at about the same time and a large portion of them get another > failure. After 3 retries, there are about 256*4 = 1024 clients got the block. > If the number of clients are more than that, the job will fail. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.