HDFS-2012. Balancer incorrectly treats nodes whose utilization equals avgUtilization. Contributed by Uma Maheswara Rao G.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1183457 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Konstantin Shvachko 2011-10-14 18:31:55 +00:00
parent 068556b9e0
commit 4cb7a4854d
2 changed files with 5 additions and 2 deletions

View File

@ -1733,6 +1733,9 @@ Release 0.22.0 - Unreleased
HDFS-2290. Block with corrupt replica is not getting replicated. HDFS-2290. Block with corrupt replica is not getting replicated.
(Benoy Antony via shv) (Benoy Antony via shv)
HDFS-2012. Balancer incorrectly treats nodes whose utilization equals
avgUtilization. (Uma Maheswara Rao G via shv)
Release 0.21.1 - Unreleased Release 0.21.1 - Unreleased
HDFS-1466. TestFcHdfsSymlink relies on /tmp/test not existing. (eli) HDFS-1466. TestFcHdfsSymlink relies on /tmp/test not existing. (eli)

View File

@ -1261,12 +1261,12 @@ private boolean isOverUtilized(BalancerDatanode datanode) {
return datanode.utilization > (policy.getAvgUtilization()+threshold); return datanode.utilization > (policy.getAvgUtilization()+threshold);
} }
/* Return true if the given datanode is above average utilized /* Return true if the given datanode is above or equal to average utilized
* but not overUtilized */ * but not overUtilized */
private boolean isAboveAvgUtilized(BalancerDatanode datanode) { private boolean isAboveAvgUtilized(BalancerDatanode datanode) {
final double avg = policy.getAvgUtilization(); final double avg = policy.getAvgUtilization();
return (datanode.utilization <= (avg+threshold)) return (datanode.utilization <= (avg+threshold))
&& (datanode.utilization > avg); && (datanode.utilization >= avg);
} }
/* Return true if the given datanode is underUtilized */ /* Return true if the given datanode is underUtilized */