[ 
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

Reply via email to