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
This commit is contained in:
Christopher Douglas 2009-10-16 22:41:54 +00:00
parent 3e9ba35841
commit c5bce7be47
2 changed files with 11 additions and 6 deletions

View File

@ -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

View File

@ -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();
}