Selaa lähdekoodia

HADOOP-1082. Fix a NullPointerException in ChecksumFileSystem. Contributed by Hairong.

git-svn-id: https://svn.apache.org/repos/asf/lucene/hadoop/trunk@515856 13f79535-47bb-0310-9956-ffa450edef68
Doug Cutting 18 vuotta sitten
vanhempi
commit
87386e6bfa
2 muutettua tiedostoa jossa 10 lisäystä ja 3 poistoa
  1. 3 0
      CHANGES.txt
  2. 7 3
      src/java/org/apache/hadoop/fs/ChecksumFileSystem.java

+ 3 - 0
CHANGES.txt

@@ -24,6 +24,9 @@ Trunk (unreleased changes)
  6. HADOOP-1083.  Fix so that when a cluster restarts with a missing
     datanode, its blocks are replicated.  (Hairong Kuang via cutting)
 
+ 7. HADOOP-1082.  Fix a NullPointerException in ChecksumFileSystem.
+    (Hairong Kuang via cutting)
+
 
 Release 0.12.0 - 2007-03-02
 

+ 7 - 3
src/java/org/apache/hadoop/fs/ChecksumFileSystem.java

@@ -135,11 +135,15 @@ public abstract class ChecksumFileSystem extends FilterFileSystem {
       long checksumBoundary = desired/bytesPerSum*bytesPerSum;
       if(checksumBoundary != getPos()) {
         datas.seek(checksumBoundary);
-        sums.seek(HEADER_LENGTH + 4*(checksumBoundary/bytesPerSum));
+        if(sums != null) {
+          sums.seek(HEADER_LENGTH + 4*(checksumBoundary/bytesPerSum));
+        }
       }
       
-      sum.reset();
-      inSum = 0;
+      if(sums != null) {
+        sum.reset();
+        inSum = 0;
+      }
       
       // scan to desired position
       int delta = (int)(desired - checksumBoundary);