You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Vihang Karajgaonkar (JIRA)" <ji...@apache.org> on 2017/08/22 15:27:00 UTC

[jira] [Created] (HIVE-17371) Fix DBTokenStore and ZKTokenStore for the stand-alone metastore

Vihang Karajgaonkar created HIVE-17371:
------------------------------------------

             Summary: Fix DBTokenStore and ZKTokenStore for the stand-alone metastore
                 Key: HIVE-17371
                 URL: https://issues.apache.org/jira/browse/HIVE-17371
             Project: Hive
          Issue Type: Sub-task
            Reporter: Vihang Karajgaonkar
            Assignee: Vihang Karajgaonkar


The {{getTokenStore}} method will not work for the {{DBTokenStore}} and {{ZKTokenStore}} since they implement {{org.apache.hadoop.hive.thrift.DelegationTokenStore}} instead of  {{org.apache.hadoop.hive.metastore.security.DelegationTokenStore}}

{code}
private DelegationTokenStore getTokenStore(Configuration conf) throws IOException {
    String tokenStoreClassName =
        MetastoreConf.getVar(conf, MetastoreConf.ConfVars.DELEGATION_TOKEN_STORE_CLS, "");
    // The second half of this if is to catch cases where users are passing in a HiveConf for
    // configuration.  It will have set the default value of
    // "hive.cluster.delegation.token.store .class" to
    // "org.apache.hadoop.hive.thrift.MemoryTokenStore" as part of its construction.  But this is
    // the hive-shims version of the memory store.  We want to convert this to our default value.
    if (StringUtils.isBlank(tokenStoreClassName) ||
        "org.apache.hadoop.hive.thrift.MemoryTokenStore".equals(tokenStoreClassName)) {
      return new MemoryTokenStore();
    }
    try {
      Class<? extends DelegationTokenStore> storeClass =
          Class.forName(tokenStoreClassName).asSubclass(DelegationTokenStore.class);
      return ReflectionUtils.newInstance(storeClass, conf);
    } catch (ClassNotFoundException e) {
      throw new IOException("Error initializing delegation token store: " + tokenStoreClassName, e);
    }
  }
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)