GzipCodec fails second time it is used in a process
---------------------------------------------------
Key: HADOOP-5281
URL: https://issues.apache.org/jira/browse/HADOOP-5281
Project: Hadoop Core
Issue Type: Bug
Affects Versions: 0.19.0
Environment: 0.19.0 / Linux / amd64
Reporter: Ben Maurer
Priority: Blocker
The following code raises:
java.io.IOException: incorrect header check
at
org.apache.hadoop.io.compress.zlib.ZlibDecompressor.inflateBytesDirect(Native
Method)
at
org.apache.hadoop.io.compress.zlib.ZlibDecompressor.decompress(ZlibDecompressor.java:221)
at
org.apache.hadoop.io.compress.DecompressorStream.decompress(DecompressorStream.java:80)
at
org.apache.hadoop.io.compress.DecompressorStream.read(DecompressorStream.java:74)
at
org.apache.hadoop.io.compress.DecompressorStream.read(DecompressorStream.java:62)
at java.io.DataInputStream.readByte(DataInputStream.java:248)
at org.apache.hadoop.io.WritableUtils.readVLong(WritableUtils.java:325)
at org.apache.hadoop.io.WritableUtils.readVInt(WritableUtils.java:346)
at org.apache.hadoop.io.SequenceFile$Reader.next(SequenceFile.java:1853)
at org.apache.hadoop.io.SequenceFile$Reader.next(SequenceFile.java:1876)
at org.apache.hadoop.io.MapFile$Reader.readIndex(MapFile.java:319)
at org.apache.hadoop.io.MapFile$Reader.seekInternal(MapFile.java:435)
at org.apache.hadoop.io.MapFile$Reader.seekInternal(MapFile.java:417)
at org.apache.hadoop.io.MapFile$Reader.seek(MapFile.java:404)
at org.apache.hadoop.io.MapFile$Reader.get(MapFile.java:523)
{quote}
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.MapFile;
import org.apache.hadoop.io.SequenceFile.CompressionType;
import org.apache.hadoop.io.compress.GzipCodec;
import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;
public class GZt extends Configured implements Tool {
private FileSystem fileSystem;
MapFile.Writer newMap(Path p) throws IOException {
return new MapFile.Writer(getConf(), fileSystem, p.toString(),
IntWritable.class, IntWritable.class,
CompressionType.BLOCK,
new GzipCodec(), null);
}
@Override
public int run(String[] args) throws Exception {
Path p = new Path(args[0]);
fileSystem = FileSystem.get(getConf());
fileSystem.mkdirs(p);
for (int i = 0; i < 2; i++) {
MapFile.Writer w = newMap(new Path(p, "b" + i));
for (int j = 0; j < 100; j++) {
w.append(new IntWritable(j), new
IntWritable(j));
}
w.close();
}
MapFile.Reader rdr = new MapFile.Reader(fileSystem, new Path(p,
"b1")
.toString(), getConf());
rdr.get(new IntWritable(1), new IntWritable());
return 0;
}
public static void main(String[] args) throws Exception {
int res = ToolRunner.run(new Configuration(), new GZt(), args);
System.exit(res);
}
}
{quote}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.