Browse Source

HADOOP-8395. Text shell command unnecessarily demands that a SequenceFile's key class be WritableComparable (harsh)


git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1337449 13f79535-47bb-0310-9956-ffa450edef68
Harsh J 13 years ago
parent
commit
810ae618fd

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -133,6 +133,9 @@ Trunk (unreleased changes)
     HADOOP-8375. test-patch should stop immediately once it has found
     HADOOP-8375. test-patch should stop immediately once it has found
     compilation errors (bobby)
     compilation errors (bobby)
 
 
+    HADOOP-8395. Text shell command unnecessarily demands that a
+    SequenceFile's key class be WritableComparable (harsh)
+
   OPTIMIZATIONS
   OPTIMIZATIONS
 
 
     HADOOP-7761. Improve the performance of raw comparisons. (todd)
     HADOOP-7761. Improve the performance of raw comparisons. (todd)

+ 2 - 3
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Display.java

@@ -34,7 +34,6 @@ import org.apache.hadoop.io.DataOutputBuffer;
 import org.apache.hadoop.io.IOUtils;
 import org.apache.hadoop.io.IOUtils;
 import org.apache.hadoop.io.SequenceFile;
 import org.apache.hadoop.io.SequenceFile;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.io.Writable;
-import org.apache.hadoop.io.WritableComparable;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.io.compress.CompressionCodec;
 import org.apache.hadoop.io.compress.CompressionCodecFactory;
 import org.apache.hadoop.io.compress.CompressionCodecFactory;
 import org.apache.hadoop.util.ReflectionUtils;
 import org.apache.hadoop.util.ReflectionUtils;
@@ -136,7 +135,7 @@ class Display extends FsCommand {
 
 
   protected class TextRecordInputStream extends InputStream {
   protected class TextRecordInputStream extends InputStream {
     SequenceFile.Reader r;
     SequenceFile.Reader r;
-    WritableComparable<?> key;
+    Writable key;
     Writable val;
     Writable val;
 
 
     DataInputBuffer inbuf;
     DataInputBuffer inbuf;
@@ -148,7 +147,7 @@ class Display extends FsCommand {
       r = new SequenceFile.Reader(lconf, 
       r = new SequenceFile.Reader(lconf, 
           SequenceFile.Reader.file(fpath));
           SequenceFile.Reader.file(fpath));
       key = ReflectionUtils.newInstance(
       key = ReflectionUtils.newInstance(
-          r.getKeyClass().asSubclass(WritableComparable.class), lconf);
+          r.getKeyClass().asSubclass(Writable.class), lconf);
       val = ReflectionUtils.newInstance(
       val = ReflectionUtils.newInstance(
           r.getValueClass().asSubclass(Writable.class), lconf);
           r.getValueClass().asSubclass(Writable.class), lconf);
       inbuf = new DataInputBuffer();
       inbuf = new DataInputBuffer();