[ 
https://issues.apache.org/jira/browse/HDFS-13183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17112463#comment-17112463
 ] 

Xiaoqiao He commented on HDFS-13183:
------------------------------------

Thanks [~Jim_Brennan] for your information. I think TestBalancer should not be 
affected even with this feature, because configuration 
`dfs.ha.allow.stale.reads` not set true in TestBalancer and all logic will keep 
the same. Actually I try to instead `Balancer.run(namenodes, 
BalancerParameters.DEFAULT, conf);` with `Balancer.run(namenodes, nsIds, 
BalancerParameters.DEFAULT, conf);` offline, and all case of TestBalancer could 
pass at local.
The new addendum patch just improve log output.
About failed unit test 
{{TestBalancerWithHANameNodes.testBalancerWithObserver}}, I try to run many 
times at local without the changes, it is also low-probability failure, And I 
try to trace the code execution path, it looks no difference between patch and 
no patch. [~xkrogen] Would you mind to have another check?

> Standby NameNode process getBlocks request to reduce Active load
> ----------------------------------------------------------------
>
>                 Key: HDFS-13183
>                 URL: https://issues.apache.org/jira/browse/HDFS-13183
>             Project: Hadoop HDFS
>          Issue Type: New Feature
>          Components: balancer & mover, namenode
>            Reporter: Xiaoqiao He
>            Assignee: Xiaoqiao He
>            Priority: Major
>             Fix For: 3.3.1, 3.4.0
>
>         Attachments: HDFS-13183-trunk.001.patch, HDFS-13183-trunk.002.patch, 
> HDFS-13183-trunk.003.patch, HDFS-13183.004.patch, HDFS-13183.005.patch, 
> HDFS-13183.006.patch, HDFS-13183.007.patch, HDFS-13183.addendum.patch, 
> HDFS-13183.addendum.patch
>
>
> 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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to