Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.6.0
-
None
-
Reviewed
Description
The block placement policy calls DatanodeDescriptor#getRemaining(StorageType}} to check whether the block is going to fit. Since the method is adding up all remaining spaces, namenode can allocate a new block on a full node. This causes pipeline construction failure and abandonBlock. If the cluster is nearly full, the client might hit this multiple times and the write can fail permanently.
Attachments
Attachments
Issue Links
- is related to
-
HDFS-8946 Improve choosing datanode storage for block placement
- Resolved