[
https://issues.apache.org/jira/browse/HADOOP-9658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zhijie Shen updated HADOOP-9658:
--------------------------------
Attachment: HADOOP-9658.1.patch
Add !NativeCodeLoader.isNativeCodeLoaded() condition to make
!NativeCodeLoader.buildSupportsSnappy() short-circuit.
> SnappyCodec#checkNativeCodeLoaded may unexpectedly fail when native code is
> not loaded
> --------------------------------------------------------------------------------------
>
> Key: HADOOP-9658
> URL: https://issues.apache.org/jira/browse/HADOOP-9658
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: Zhijie Shen
> Assignee: Zhijie Shen
> Attachments: HADOOP-9658.1.patch
>
>
> {code}
> public static void checkNativeCodeLoaded() {
> if (!NativeCodeLoader.buildSupportsSnappy()) {
> throw new RuntimeException("native snappy library not available: " +
> "this version of libhadoop was built without " +
> "snappy support.");
> }
> if (!SnappyCompressor.isNativeCodeLoaded()) {
> throw new RuntimeException("native snappy library not available: " +
> "SnappyCompressor has not been loaded.");
> }
> if (!SnappyDecompressor.isNativeCodeLoaded()) {
> throw new RuntimeException("native snappy library not available: " +
> "SnappyDecompressor has not been loaded.");
> }
> }
> {code}
> buildSupportsSnappy is native method. If the native code is not loaded, the
> method will be missing. Therefore, whether the native code is loaded or not,
> the first runtime exception will not be thrown.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira