[ https://issues.apache.org/jira/browse/HDFS-75?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tsz Wo (Nicholas), SZE resolved HDFS-75. ---------------------------------------- Resolution: Not A Problem It does not throw IOException now. This is no longer a problem. > FSDataset.invalidate() throws IOException trying to delete a block which is > not in the data-node blockMap > --------------------------------------------------------------------------------------------------------- > > Key: HDFS-75 > URL: https://issues.apache.org/jira/browse/HDFS-75 > Project: Hadoop HDFS > Issue Type: Bug > Reporter: Konstantin Shvachko > > Here is what I get in the data-node log. This is happening regularly, but not > all the time. > {code} > 07/08/21 15:22:20 INFO dfs.DataNode: Deleting block blk_5351209297984813226 > file /hadoop-data/ndfs/data/current/blk_5351209297984813226 > 07/08/21 15:22:20 INFO dfs.DataNode: Deleting block blk_8240763237624393278 > file /hadoop-data/ndfs/data/current/blk_8240763237624393278 > 07/08/21 15:22:21 WARN dfs.DataNode: Unexpected error trying to delete block > blk_5351209297984813226. Block not found in blockMap. > 07/08/21 15:22:21 WARN dfs.DataNode: Unexpected error trying to delete block > blk_8240763237624393278. Block not found in blockMap. > 07/08/21 15:22:21 WARN dfs.DataNode: java.io.IOException: Error in deleting > blocks. > at org.apache.hadoop.dfs.FSDataset.invalidate(FSDataset.java:714) > at org.apache.hadoop.dfs.DataNode.processCommand(DataNode.java:590) > at org.apache.hadoop.dfs.DataNode.offerService(DataNode.java:493) > at org.apache.hadoop.dfs.DataNode.run(DataNode.java:1310) > at java.lang.Thread.run(Thread.java:595) > {code} > The data-node successfully removed two blocks and then one second later > received another request > from the name-node to remove the same two blocks. > # I don't see why the data-node should throw an exception in this case at > all. It is a clear warning. > Even if it does it should use the same description as in the warning > message. > # Name-node calculates blocks to remove for a data-node in two cases: a > heartbeat and a block-report. > I suspect that this is what happened here. The 2 blocks were first > requested to be removed in reply to > the heartbeat and the in reply to the block report (or vice versa). > The question is why name-node returns the same blocks twice? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira