Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.7.1, 2.7.2, 2.7.3, 3.0.0-alpha2
-
Reviewed
-
Description
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.
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...
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.
Attachments
Attachments
Issue Links
- is duplicated by
-
HDFS-11486 Client close() should not fail fast if the last block is being decommissioned
-
- Resolved
-
-
HDFS-11852 Under-repicated block never completes because of failure in commitBlockSynchronization()
-
- Resolved
-
- is related to
-
HDFS-9392 Admins support for maintenance state
-
- Resolved
-
-
HDFS-11486 Client close() should not fail fast if the last block is being decommissioned
-
- Resolved
-
-
HDFS-14429 Block remain in COMMITTED but not COMPLETE caused by Decommission
-
- Resolved
-
- relates to
-
HDFS-12747 Lease monitor may infinitely loop on the same lease
-
- Open
-