1
0
Prechádzať zdrojové kódy

HADOOP-1122. Fix divide-by-zero exception in FSNamesystem chooseTarget method. Contributed by Dhruba Borthakur.

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@522260 13f79535-47bb-0310-9956-ffa450edef68
Thomas White 18 rokov pred
rodič
commit
63e17ad438

+ 3 - 0
CHANGES.txt

@@ -34,6 +34,9 @@ Trunk (unreleased changes)
 10. HADOOP-1068.  Improve error message for clusters with 0 datanodes.
     (Dhruba Borthakur via tomwhite)
 
+11. HADOOP-1122.  Fix divide-by-zero exception in FSNamesystem
+    chooseTarget method.  (Dhruba Borthakur via tomwhite)
+
 
 Release 0.12.2 - 2007-23-17
 

+ 2 - 1
src/java/org/apache/hadoop/dfs/FSNamesystem.java

@@ -2794,8 +2794,9 @@ class FSNamesystem implements FSConstants {
           List<DatanodeDescriptor> choosenNodes,
           List<DatanodeDescriptor> excludedNodes,
           long blocksize ) {
-        if( numOfReplicas == 0 )
+        if( numOfReplicas == 0 || clusterMap.getNumOfLeaves()==0 ) {
           return new DatanodeDescriptor[0];
+        }
         
         if( excludedNodes == null) {
           excludedNodes = new ArrayList<DatanodeDescriptor>();