Sergio Peña created HIVE-9981:
---------------------------------

             Summary: 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


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