HADOOP-9658. SnappyCodec#checkNativeCodeLoaded may unexpectedly fail when native code is not loaded. Contributed by Zhijie Shen.

This commit is contained in:
Tsuyoshi Ozawa 2015-05-04 17:05:00 +09:00
parent bb6ef2984d
commit 76fa606e2d
2 changed files with 5 additions and 1 deletions

View File

@ -616,6 +616,9 @@ Release 2.7.1 - UNRELEASED
HADOOP-11891. OsSecureRandom should lazily fill its reservoir (asuresh) 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 Release 2.7.0 - 2015-04-20
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -60,7 +60,8 @@ public class SnappyCodec implements Configurable, CompressionCodec, DirectDecomp
* Are the native snappy libraries loaded & initialized? * Are the native snappy libraries loaded & initialized?
*/ */
public static void checkNativeCodeLoaded() { public static void checkNativeCodeLoaded() {
if (!NativeCodeLoader.buildSupportsSnappy()) { if (!NativeCodeLoader.isNativeCodeLoaded() ||
!NativeCodeLoader.buildSupportsSnappy()) {
throw new RuntimeException("native snappy library not available: " + throw new RuntimeException("native snappy library not available: " +
"this version of libhadoop was built without " + "this version of libhadoop was built without " +
"snappy support."); "snappy support.");