[ https://issues.apache.org/jira/browse/HDFS-5558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13830536#comment-13830536 ]
Jason Lowe commented on HDFS-5558: ---------------------------------- We might need a slight addition to the patch for branch-0.23, as getAdditionalBlock has a very similar structure where it can commit/complete the last block before checking the state of the penultimate block. If we get stuck in that state for a while or client abandons the file then the LeaseManager could hit the same condition if a block report completes the last block but not the penultimate block. In trunk/branch-2 getAdditionalBlock calls analyzeFileState before it tries to commit/complete the block, and that will throw if the penultimate block has not completed. > LeaseManager monitor thread can crash if the last block is complete but > another block is not. > --------------------------------------------------------------------------------------------- > > Key: HDFS-5558 > URL: https://issues.apache.org/jira/browse/HDFS-5558 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 0.23.9, 2.3.0 > Reporter: Kihwal Lee > Attachments: HDFS-5558.patch > > > As mentioned in HDFS-5557, if a file has its last and penultimate block not > completed and the file is being closed, the last block may be completed but > the penultimate one might not. If this condition lasts long and the file is > abandoned, LeaseManager will try to recover the lease and the block. But > {{internalReleaseLease()}} will fail with invalid cast exception with this > kind of file. -- This message was sent by Atlassian JIRA (v6.1#6144)