You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Thejas M Nair (JIRA)" <ji...@apache.org> on 2017/10/02 19:07:02 UTC
[jira] [Commented] (HIVE-17371) Move tokenstores to metastore
module
[ https://issues.apache.org/jira/browse/HIVE-17371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188646#comment-16188646 ]
Thejas M Nair commented on HIVE-17371:
--------------------------------------
[~vihangk1]
What functionality is different for HiveServer2 in HiveDelegationTokenManager and TokenStoreDelegationTokenSecretManager that would warrant a copy in service ? How about moving it to standalone-metastore as well ?
> Move tokenstores to metastore module
> ------------------------------------
>
> Key: HIVE-17371
> URL: https://issues.apache.org/jira/browse/HIVE-17371
> Project: Hive
> Issue Type: Sub-task
> Components: Metastore
> Reporter: Vihang Karajgaonkar
> Assignee: Vihang Karajgaonkar
> Attachments: HIVE-17371.01.patch
>
>
> 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)