Explorar o código

HADOOP-6097. Fix Path conversion in makeQualified and reset LineReader byte
count at the start of each block in Hadoop archives. Contributed by Ben Slusky,
Tom White, and Mahadev Konar


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@827837 13f79535-47bb-0310-9956-ffa450edef68

Christopher Douglas %!s(int64=15) %!d(string=hai) anos
pai
achega
7313955d04
Modificáronse 2 ficheiros con 16 adicións e 14 borrados
  1. 12 0
      CHANGES.txt
  2. 4 14
      src/java/org/apache/hadoop/fs/HarFileSystem.java

+ 12 - 0
CHANGES.txt

@@ -1122,6 +1122,18 @@ Release 0.21.0 - Unreleased
     HADOOP-6286. Fix bugs in related to URI handling in glob methods in 
     FileContext. (Boris Shkolnik via suresh)
 
+Release 0.20.2 - Unreleased
+
+    HADOOP-6231. Allow caching of filesystem instances to be disabled on a
+    per-instance basis. (tomwhite)
+
+    HADOOP-5759. Fix for IllegalArgumentException when CombineFileInputFormat
+    is used as job InputFormat. (Amareshwari Sriramadasu via dhruba)
+
+    HADOOP-6097. Fix Path conversion in makeQualified and reset LineReader byte
+    count at the start of each block in Hadoop archives. (Ben Slusky, Tom
+    White, and Mahadev Konar via cdouglas)
+
 Release 0.20.1 - 2009-09-01
 
   INCOMPATIBLE CHANGES

+ 4 - 14
src/java/org/apache/hadoop/fs/HarFileSystem.java

@@ -302,19 +302,8 @@ public class HarFileSystem extends FilterFileSystem {
     }
 
     URI tmpURI = fsPath.toUri();
-    fsPath = new Path(tmpURI.getPath());
     //change this to Har uri 
-    URI tmp = null;
-    try {
-      tmp = new URI(uri.getScheme(), harAuth, fsPath.toString(),
-                    tmpURI.getQuery(), tmpURI.getFragment());
-    } catch(URISyntaxException ue) {
-      LOG.error("Error in URI ", ue);
-    }
-    if (tmp != null) {
-      return new Path(tmp.toString());
-    }
-    return null;
+    return new Path(uri.getScheme(), harAuth, tmpURI.getPath());
   }
   
   /**
@@ -426,12 +415,13 @@ public class HarFileSystem extends FilterFileSystem {
       // do nothing just a read.
     }
     FSDataInputStream aIn = fs.open(archiveIndex);
-    LineReader aLin = new LineReader(aIn, getConf());
+    LineReader aLin;
     String retStr = null;
     // now start reading the real index file
-     read = 0;
     for (Store s: stores) {
+      read = 0;
       aIn.seek(s.begin);
+      aLin = new LineReader(aIn, getConf());
       while (read + s.begin < s.end) {
         int tmp = aLin.readLine(line);
         read += tmp;