You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Zhijie Shen (JIRA)" <ji...@apache.org> on 2013/06/21 23:26:20 UTC

[jira] [Updated] (HADOOP-9658) SnappyCodec#checkNativeCodeLoaded may unexpectedly fail when native code is not loaded

     [ 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