[ https://issues.apache.org/jira/browse/HDFS-2668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Uma Maheswara Rao G updated HDFS-2668: -------------------------------------- Status: Open (was: Patch Available) > Incorrect assertion in BlockManager when block report arrives shortly after > invalidation decision > ------------------------------------------------------------------------------------------------- > > Key: HDFS-2668 > URL: https://issues.apache.org/jira/browse/HDFS-2668 > Project: Hadoop HDFS > Issue Type: Bug > Components: name-node > Affects Versions: 0.23.0 > Reporter: Todd Lipcon > Attachments: TestToReproduceHDFS-2668.patch > > > I haven't written a test case to verify this yet, but I believe the following > assertion is incorrect: > {code} > // Ignore replicas already scheduled to be removed from the DN > if(invalidateBlocks.contains(dn.getStorageID(), block)) { > assert storedBlock.findDatanode(dn) < 0 : "Block " + block > + " in recentInvalidatesSet should not appear in DN " + dn; > {code} > The problem is that, when a block is invalidated due to over-replication, it > is not immediately removed from the block map. So, if a block report arrives > just after a block has been marked as invalidated, but before the block is > actually deleted, I think this assertion will trigger incorrectly. -- 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