You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Shangshu Qian (Jira)" <ji...@apache.org> on 2025/05/10 04:16:00 UTC
[jira] [Created] (HDFS-17782) The implementation of LowRedundancyBlocks can cause unexpected lock contentions, resulting in DN timeout
Shangshu Qian created HDFS-17782:
------------------------------------
Summary: The implementation of LowRedundancyBlocks can cause unexpected lock contentions, resulting in DN timeout
Key: HDFS-17782
URL: https://issues.apache.org/jira/browse/HDFS-17782
Project: Hadoop HDFS
Issue Type: Bug
Components: datanode, namenode
Affects Versions: 3.4.1
Reporter: Shangshu Qian
The current implementation of LowRedundancyBlocks involves a lot of synchronized methods. The main user of this class, `neededReconstruction` of BlockManager frequently invokes those synchronized method. A feedback loop can occur when the synchronized methods causes lock contentions.
The feedback loop looks like this:
# The cluster experiences a burst in IO. The BlockManager experiences lock contention on LowRedundancyBlocks.
# Due to the lock contention, many of the RPC operations in the BlockManager get delayed, occupying the RPC pool for a long time.
# The heartbeat from the DN get delayed due to the contention. We start to lose them and the blocks on them.
# We need to replicate those missing blocks, cause even higher load on the DN as well as the block reports they send to the NN.
# Those block reports interacts with BlockManager and eventually LowRedundancyBlocks, making the lock contention problem worse.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-dev-help@hadoop.apache.org