Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.0.0-alpha1
-
None
-
-
Reviewed
Description
Currently DatanodeDescriptor's scheduled block size is increased when allocating a new block. It is then decreased when NN receives IBR from the DN.
When writing an erasure-coded file whose size is less a stripe, we can have less than 6 internal data blocks. Then we never decrease the scheduled block size for Datanodes that are actually not used for storing any internal block. When writing large amount of small EC files within a short period, this may cause NN to wrongly exclude DN for writing due to high scheduled block size.