HDFS-11263. ClassCastException when we use Bzipcodec for Fsimage compression. Contributed by Brahma Reddy Battula.
(cherry picked from commit 1b401f6a734df4e23a79b3bd89c816a1fc0de574) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/3e0bd995 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/3e0bd995 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/3e0bd995 Branch: refs/heads/branch-2.7 Commit: 3e0bd9951fdb0aa99bfc822bba8425c555429fbf Parents: bbf380a Author: Brahma Reddy Battula <[email protected]> Authored: Tue Dec 20 20:54:03 2016 +0530 Committer: Brahma Reddy Battula <[email protected]> Committed: Tue Dec 20 21:30:18 2016 +0530 ---------------------------------------------------------------------- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++ .../hdfs/server/namenode/FSImageFormatProtobuf.java | 4 ++-- .../apache/hadoop/hdfs/server/namenode/TestFSImage.java | 11 +++++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/3e0bd995/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 342bc67..ad49975 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -210,6 +210,9 @@ Release 2.7.4 - UNRELEASED HDFS-11160. VolumeScanner reports write-in-progress replicas as corrupt incorrectly. Contributed by Wei-Chiu Chuang and Yongjun Zhang. + HDFS-11263. ClassCastException when we use Bzipcodec for Fsimage + compression. (Brahma Reddy Battula) + Release 2.7.3 - 2016-08-25 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/3e0bd995/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java index adade58..d7503f7 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImageFormatProtobuf.java @@ -40,6 +40,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import org.apache.hadoop.io.compress.CompressionOutputStream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.hadoop.classification.InterfaceAudience; @@ -62,7 +63,6 @@ import org.apache.hadoop.hdfs.server.namenode.startupprogress.StepType; import org.apache.hadoop.hdfs.util.MD5FileUtils; import org.apache.hadoop.io.MD5Hash; import org.apache.hadoop.io.compress.CompressionCodec; -import org.apache.hadoop.io.compress.CompressorStream; import org.apache.hadoop.util.LimitInputStream; import org.apache.hadoop.util.Time; @@ -401,7 +401,7 @@ public final class FSImageFormatProtobuf { private void flushSectionOutputStream() throws IOException { if (codec != null) { - ((CompressorStream) sectionOutputStream).finish(); + ((CompressionOutputStream) sectionOutputStream).finish(); } sectionOutputStream.flush(); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/3e0bd995/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSImage.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSImage.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSImage.java index 7b9ea93..29116ba 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSImage.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSImage.java @@ -62,8 +62,15 @@ public class TestFSImage { public void testCompression() throws IOException { Configuration conf = new Configuration(); conf.setBoolean(DFSConfigKeys.DFS_IMAGE_COMPRESS_KEY, true); - conf.set(DFSConfigKeys.DFS_IMAGE_COMPRESSION_CODEC_KEY, - "org.apache.hadoop.io.compress.GzipCodec"); + setCompressCodec(conf, "org.apache.hadoop.io.compress.DefaultCodec"); + setCompressCodec(conf, "org.apache.hadoop.io.compress.GzipCodec"); + setCompressCodec(conf, "org.apache.hadoop.io.compress.BZip2Codec"); + setCompressCodec(conf, "org.apache.hadoop.io.compress.Lz4Codec"); + } + + private void setCompressCodec(Configuration conf, String compressCodec) + throws IOException { + conf.set(DFSConfigKeys.DFS_IMAGE_COMPRESSION_CODEC_KEY, compressCodec); testPersistHelper(conf); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
