[ 
https://issues.apache.org/jira/browse/HDFS-11499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Manoj Govindassamy updated HDFS-11499:
--------------------------------------
    Attachment: HDFS-11499.02.patch

[~lukmajercak], [~jojochuang], [~linyiqun],
Attached v02 patch to address the following. Can you please take a look at the 
patch.
* {{BlockManager#commitOrCompleteLastBlock()}} to consider entering_maintenance 
replicase along with decommissioning replicas for usable replicas.
* Added unit test testFileCloseAfterEnteringMaintenance to 
{{TestMaintenanceState}} based on the test given by Yiqun. Without fix, the 
test fails at file close.

> Decommissioning stuck because of failing recovery
> -------------------------------------------------
>
>                 Key: HDFS-11499
>                 URL: https://issues.apache.org/jira/browse/HDFS-11499
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs, namenode
>    Affects Versions: 2.7.1, 2.7.2, 2.7.3, 3.0.0-alpha2
>            Reporter: Lukas Majercak
>            Assignee: Lukas Majercak
>              Labels: blockmanagement, decommission, recovery
>             Fix For: 3.0.0-alpha3
>
>         Attachments: HDFS-11499.02.patch, HDFS-11499.patch
>
>
> Block recovery will fail to finalize the file if the locations of the last, 
> incomplete block are being decommissioned. Vice versa, the decommissioning 
> will be stuck, waiting for the last block to be completed.
> {code:xml}
> org.apache.hadoop.ipc.RemoteException(java.lang.IllegalStateException): 
> Failed to finalize INodeFile testRecoveryFile since blocks[255] is 
> non-complete, where blocks=[blk_1073741825_1001, blk_1073741826_1002...
> {code}
> The fix is to count replicas on decommissioning nodes when completing last 
> block in BlockManager.commitOrCompleteLastBlock, as we know that the 
> DecommissionManager will not decommission a node that has UC blocks.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to