[
https://issues.apache.org/jira/browse/HDFS-5558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13830519#comment-13830519
]
Kihwal Lee commented on HDFS-5558:
----------------------------------
{{LeaseManager}} might need to be made more robust, but more importantly, the
last block shouldn't be completed if the penultimate block is not completed
when closing a file. In {{completeFileInternal()}},
{{checkFileProgress(pendingFile, false)}} needs to be called before calling
{{commitOrCompleteLastBlock()}}. If the penultimate block isn't going to be
completed soon, the close will fail anyway. It should fail before doing more
damage.
> 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
> Reporter: Kihwal Lee
>
> 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)