فهرست منبع

HADOOP-6293. Fix FsShell -text to work on filesystems other than the default.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@826120 13f79535-47bb-0310-9956-ffa450edef68
Christopher Douglas 15 سال پیش
والد
کامیت
c5bce7be47
2فایلهای تغییر یافته به همراه11 افزوده شده و 6 حذف شده
  1. 4 1
      CHANGES.txt
  2. 7 5
      src/java/org/apache/hadoop/fs/FsShell.java

+ 4 - 1
CHANGES.txt

@@ -30,7 +30,10 @@ Trunk (unreleased changes)
   OPTIMIZATIONS
 
   BUG FIXES
-  
+
+    HADOOP-6293. Fix FsShell -text to work on filesystems other than the
+    default. (cdouglas)
+
 Release 0.21.0 - Unreleased
 
   INCOMPATIBLE CHANGES

+ 7 - 5
src/java/org/apache/hadoop/fs/FsShell.java

@@ -367,11 +367,13 @@ public class FsShell extends Configured implements Tool {
     DataOutputBuffer outbuf;
 
     public TextRecordInputStream(FileStatus f) throws IOException {
-      r = new SequenceFile.Reader(fs, f.getPath(), getConf());
-      key = ReflectionUtils.newInstance(r.getKeyClass().asSubclass(WritableComparable.class),
-                                        getConf());
-      val = ReflectionUtils.newInstance(r.getValueClass().asSubclass(Writable.class),
-                                        getConf());
+      final Path fpath = f.getPath();
+      final Configuration lconf = getConf();
+      r = new SequenceFile.Reader(fpath.getFileSystem(lconf), fpath, lconf);
+      key = ReflectionUtils.newInstance(
+          r.getKeyClass().asSubclass(WritableComparable.class), lconf);
+      val = ReflectionUtils.newInstance(
+          r.getValueClass().asSubclass(Writable.class), lconf);
       inbuf = new DataInputBuffer();
       outbuf = new DataOutputBuffer();
     }