HADOOP-13684. Snappy may complain Hadoop is built without snappy if libhadoop is not found. Contributed by Wei-Chiu Chuang.

This commit is contained in:
Wei-Chiu Chuang 2016-10-11 13:21:33 -07:00
parent 2fb392a587
commit 4b32b1420d
1 changed files with 16 additions and 14 deletions

View File

@ -60,12 +60,14 @@ 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.isNativeCodeLoaded() || if (!NativeCodeLoader.buildSupportsSnappy()) {
!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.");
} }
if (!NativeCodeLoader.isNativeCodeLoaded()) {
throw new RuntimeException("Failed to load libhadoop.");
}
if (!SnappyCompressor.isNativeCodeLoaded()) { if (!SnappyCompressor.isNativeCodeLoaded()) {
throw new RuntimeException("native snappy library not available: " + throw new RuntimeException("native snappy library not available: " +
"SnappyCompressor has not been loaded."); "SnappyCompressor has not been loaded.");