Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
2.7.2
-
None
-
None
Description
When a data node needs to transfer a block, it validates the block in the heartbeat thread invoking the checkBlock() method of FsDatasetImpl, where it checks whether the block exists and gets the block length. If the block is valid, it then spins off a thread to do the actual block transfer. We found that during heavy disk IO the heartbeat thread hangs on replicaInfo.getBlockFile().exists() for more than 10 minutes.