HADOOP-8151. Error handling in snappy decompressor throws invalid exceptions. Contributed by Matt Foley. (harsh)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1389006 13f79535-47bb-0310-9956-ffa450edef68 (cherry picked from commit ac31d6a4485d7ff9074fb5dade7a6cf5292bb347) Conflicts: hadoop-common-project/hadoop-common/CHANGES.txt (cherry picked from commit 55427fb66c6d52ce98b4d68a29b592a734014c28) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/6ab1a9c2 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/6ab1a9c2 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/6ab1a9c2 Branch: refs/heads/branch-2.7 Commit: 6ab1a9c2de2463d2048b8c27e8f8cd21d4ad1888 Parents: 6c127b4 Author: Harsh J <ha...@apache.org> Authored: Sun Sep 23 10:37:52 2012 +0000 Committer: Vinod Kumar Vavilapalli (I am also known as @tshooter.) <vino...@apache.org> Committed: Thu Sep 10 11:56:29 2015 -0700 ---------------------------------------------------------------------- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../src/org/apache/hadoop/io/compress/lz4/Lz4Compressor.c | 2 +- .../src/org/apache/hadoop/io/compress/lz4/Lz4Decompressor.c | 2 +- .../org/apache/hadoop/io/compress/snappy/SnappyCompressor.c | 4 ++-- .../org/apache/hadoop/io/compress/snappy/SnappyDecompressor.c | 6 +++--- 5 files changed, 10 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/6ab1a9c2/hadoop-common-project/hadoop-common/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index bbd4ef3..144c296 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -47,6 +47,9 @@ Release 2.7.2 - UNRELEASED HADOOP-12213. Interrupted exception can occur when Client#stop is called. (Kuhu Shukla via ozawa) + HADOOP-8151. Error handling in snappy decompressor throws invalid + exceptions. (Matt Foley via harsh) + Release 2.7.1 - 2015-07-06 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/6ab1a9c2/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/Lz4Compressor.c ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/Lz4Compressor.c b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/Lz4Compressor.c index 58544f5..9f14312 100644 --- a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/Lz4Compressor.c +++ b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/Lz4Compressor.c @@ -83,7 +83,7 @@ JNIEXPORT jint JNICALL Java_org_apache_hadoop_io_compress_lz4_Lz4Compressor_comp compressed_direct_buf_len = LZ4_compress(uncompressed_bytes, compressed_bytes, uncompressed_direct_buf_len); if (compressed_direct_buf_len < 0){ - THROW(env, "Ljava/lang/InternalError", "LZ4_compress failed"); + THROW(env, "java/lang/InternalError", "LZ4_compress failed"); } (*env)->SetIntField(env, thisj, Lz4Compressor_uncompressedDirectBufLen, 0); http://git-wip-us.apache.org/repos/asf/hadoop/blob/6ab1a9c2/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/Lz4Decompressor.c ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/Lz4Decompressor.c b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/Lz4Decompressor.c index 6570303..2b8c91c 100644 --- a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/Lz4Decompressor.c +++ b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/lz4/Lz4Decompressor.c @@ -80,7 +80,7 @@ JNIEXPORT jint JNICALL Java_org_apache_hadoop_io_compress_lz4_Lz4Decompressor_de uncompressed_direct_buf_len = LZ4_decompress_safe(compressed_bytes, uncompressed_bytes, compressed_direct_buf_len, uncompressed_direct_buf_len); if (uncompressed_direct_buf_len < 0) { - THROW(env, "Ljava/lang/InternalError", "LZ4_uncompress_unknownOutputSize failed."); + THROW(env, "java/lang/InternalError", "LZ4_uncompress_unknownOutputSize failed."); } (*env)->SetIntField(env, thisj, Lz4Decompressor_compressedDirectBufLen, 0); http://git-wip-us.apache.org/repos/asf/hadoop/blob/6ab1a9c2/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/snappy/SnappyCompressor.c ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/snappy/SnappyCompressor.c b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/snappy/SnappyCompressor.c index 65c978b..fe827f0 100644 --- a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/snappy/SnappyCompressor.c +++ b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/snappy/SnappyCompressor.c @@ -134,11 +134,11 @@ JNIEXPORT jint JNICALL Java_org_apache_hadoop_io_compress_snappy_SnappyCompresso ret = dlsym_snappy_compress(uncompressed_bytes, uncompressed_direct_buf_len, compressed_bytes, &buf_len); if (ret != SNAPPY_OK){ - THROW(env, "Ljava/lang/InternalError", "Could not compress data. Buffer length is too small."); + THROW(env, "java/lang/InternalError", "Could not compress data. Buffer length is too small."); return 0; } if (buf_len > JINT_MAX) { - THROW(env, "Ljava/lang/InternalError", "Invalid return buffer length."); + THROW(env, "java/lang/InternalError", "Invalid return buffer length."); return 0; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/6ab1a9c2/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/snappy/SnappyDecompressor.c ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/snappy/SnappyDecompressor.c b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/snappy/SnappyDecompressor.c index 022f2b0..d1fd13c 100644 --- a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/snappy/SnappyDecompressor.c +++ b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/compress/snappy/SnappyDecompressor.c @@ -126,11 +126,11 @@ JNIEXPORT jint JNICALL Java_org_apache_hadoop_io_compress_snappy_SnappyDecompres ret = dlsym_snappy_uncompress(compressed_bytes, compressed_direct_buf_len, uncompressed_bytes, &uncompressed_direct_buf_len); if (ret == SNAPPY_BUFFER_TOO_SMALL){ - THROW(env, "Ljava/lang/InternalError", "Could not decompress data. Buffer length is too small."); + THROW(env, "java/lang/InternalError", "Could not decompress data. Buffer length is too small."); } else if (ret == SNAPPY_INVALID_INPUT){ - THROW(env, "Ljava/lang/InternalError", "Could not decompress data. Input is invalid."); + THROW(env, "java/lang/InternalError", "Could not decompress data. Input is invalid."); } else if (ret != SNAPPY_OK){ - THROW(env, "Ljava/lang/InternalError", "Could not decompress data."); + THROW(env, "java/lang/InternalError", "Could not decompress data."); } (*env)->SetIntField(env, thisj, SnappyDecompressor_compressedDirectBufLen, 0);