[ 
https://issues.apache.org/jira/browse/HIVE-9981?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergio Peña updated HIVE-9981:
------------------------------
    Attachment: HIVE-9981.2.patch

Thanks [~thejas]
I did not see that issue. This patch uses a Boolean object instead to keep 
track of the encryption support.

> Avoid throwing many exceptions when attempting to create new hdfs encryption 
> shim
> ---------------------------------------------------------------------------------
>
>                 Key: HIVE-9981
>                 URL: https://issues.apache.org/jira/browse/HIVE-9981
>             Project: Hive
>          Issue Type: Improvement
>          Components: Encryption
>            Reporter: Sergio Peña
>            Assignee: Sergio Peña
>         Attachments: HIVE-9981.1.patch, HIVE-9981.2.patch
>
>
> Hadoop23Shims.createHdfsEncryptionShim() is throwing an exception for verions 
> lower than 2.6.0 everytime a query is executed.
> Exceptions are expensive, so rather than throwing them every time, we can use 
> this design pattern followed for some other functions in Hadoop23Shims -
> {code}
>   protected static final Method accessMethod;
>   protected static final Method getPasswordMethod;
>   static {
>     Method m = null;
>     try {
>       m = FileSystem.class.getMethod("access", Path.class, FsAction.class);
>     } catch (NoSuchMethodException err) {
>       // This version of Hadoop does not support FileSystem.access().
>     }
>     accessMethod = m;
>     try {
>       m = Configuration.class.getMethod("getPassword", String.class);
>     } catch (NoSuchMethodException err) {
>       // This version of Hadoop does not support getPassword(), just retrieve 
> password from conf.
>       m = null;
>     }
>     getPasswordMethod = m;
>   }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to