From 1e1ebbb42bcea22901fd8277c190d2852147d10d Mon Sep 17 00:00:00 2001 From: Tsuyoshi Ozawa Date: Mon, 4 May 2015 17:05:00 +0900 Subject: [PATCH] HADOOP-9658. SnappyCodec#checkNativeCodeLoaded may unexpectedly fail when native code is not loaded. Contributed by Zhijie Shen. (cherry picked from commit 76fa606e2d3d04407f2f6b4ea276cce0f60db4be) --- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../main/java/org/apache/hadoop/io/compress/SnappyCodec.java | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 7bac3c97a08..0c555988e59 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -164,6 +164,9 @@ Release 2.7.1 - UNRELEASED HADOOP-11891. OsSecureRandom should lazily fill its reservoir (asuresh) + HADOOP-9658. SnappyCodec#checkNativeCodeLoaded may unexpectedly fail when + native code is not loaded. (Zhijie Shen via ozawa) + Release 2.7.0 - 2015-04-20 INCOMPATIBLE CHANGES diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/SnappyCodec.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/SnappyCodec.java index 8d2fa1a6fb4..2a9c5d0bc2a 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/SnappyCodec.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/compress/SnappyCodec.java @@ -60,7 +60,8 @@ public class SnappyCodec implements Configurable, CompressionCodec, DirectDecomp * Are the native snappy libraries loaded & initialized? */ public static void checkNativeCodeLoaded() { - if (!NativeCodeLoader.buildSupportsSnappy()) { + if (!NativeCodeLoader.isNativeCodeLoaded() || + !NativeCodeLoader.buildSupportsSnappy()) { throw new RuntimeException("native snappy library not available: " + "this version of libhadoop was built without " + "snappy support.");