Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
The performance of Active NameNode could be impact when Balancer requests #getBlocks, since query blocks of overly full DNs performance is extremely inefficient currently. The main reason is NameNodeRpcServer#getBlocks hold read lock for long time. In extreme case, all handlers of Active NameNode RPC server are occupied by one reader NameNodeRpcServer#getBlocks and other write operation calls, thus Active NameNode enter a state of false death for number of seconds even for minutes.
The similar performance concerns of Balancer have reported by HDFS-9412, HDFS-7967, etc.
If Standby NameNode can shoulder #getBlocks heavy burden, it could speed up the progress of balancing and reduce performance impact to Active NameNode.
Attachments
Attachments
Issue Links
- blocks
-
HDFS-15368 TestBalancerWithHANameNodes#testBalancerWithObserver failed occasionally
- Resolved
- is blocked by
-
HDFS-12976 Introduce ObserverReadProxyProvider
- Resolved
- relates to
-
HDFS-14162 Balancer should work with ObserverNode
- Resolved
-
HDFS-16584 Record StandbyNameNode information when Balancer is running
- Resolved
-
HDFS-16504 Add parameter for NameNode to process getBloks request
- Resolved