You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Owen O'Malley (JIRA)" <ji...@apache.org> on 2009/03/16 19:09:50 UTC

[jira] Commented: (HADOOP-5281) GzipCodec fails second time it is used in a process

    [ https://issues.apache.org/jira/browse/HADOOP-5281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12682395#action_12682395 ] 

Owen O'Malley commented on HADOOP-5281:
---------------------------------------

Does this problem still happen when you use DefaultCodec instead of GzipCodec?

> 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
>         Attachments: GZt.java
>
>
> 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.