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)