Sfoglia il codice sorgente

HDFS-12487. FsDatasetSpi.isValidBlock() lacks null pointer check inside and neither do the callers. Contributed by liumi.

Wei-Chiu Chuang 6 anni fa
parent
commit
1524e2e6c5

+ 5 - 0
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DiskBalancer.java

@@ -905,6 +905,11 @@ public class DiskBalancer {
       while (!iter.atEnd() && item.getErrorCount() < getMaxError(item)) {
         try {
           ExtendedBlock block = iter.nextBlock();
+          if(null == block){
+            LOG.info("NextBlock call returned null.No valid block to copy. {}",
+                    item.toJson());
+            return block;
+          }
 
           if (block != null) {
             // A valid block is a finalized block, we iterate until we get