[
https://issues.apache.org/jira/browse/HIVE-12679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15151354#comment-15151354
]
Austin Lee commented on HIVE-12679:
-----------------------------------
Thanks for your suggestion on the approach. Instead of having
SessionHiveMetaStoreClient directly extend HiveMetaStoreClient via inheritance,
if I understand you correctly, we can accomplish what I am proposing via
composition, i.e., by creating a new member of type IMetaStoreClient in
SessionHiveMetaStoreClient and use HiveConf to determine its concrete
implementation at runtime? I was thinking of putting this logic in
SessionHiveMetaStoreClient, but looking at the latest code in 2.1-snapshot,
your approach might make more sense.
As for the use case that I have in mind, I am really after more flexibility,
e.g. not having dependency on Thrift, not having to run in embedded mode to
eliminate dependency on Thrift, etc.
> Allow users to be able to specify an implementation of IMetaStoreClient via
> HiveConf
> ------------------------------------------------------------------------------------
>
> Key: HIVE-12679
> URL: https://issues.apache.org/jira/browse/HIVE-12679
> Project: Hive
> Issue Type: Improvement
> Components: Configuration, Metastore, Query Planning
> Reporter: Austin Lee
> Assignee: Austin Lee
> Priority: Minor
> Labels: metastore
> Fix For: 1.2.1
>
>
> Hi,
> I would like to propose a change that would make it possible for users to
> choose an implementation of IMetaStoreClient via HiveConf, i.e.
> hive-site.xml. Currently, in Hive the choice is hard coded to be
> SessionHiveMetaStoreClient in org.apache.hadoop.hive.ql.metadata.Hive. There
> is no other direct reference to SessionHiveMetaStoreClient other than the
> hard coded class name in Hive.java and the QL component operates only on the
> IMetaStoreClient interface so the change would be minimal and it would be
> quite similar to how an implementation of RawStore is specified and loaded in
> hive-metastore. One use case this change would serve would be one where a
> user wishes to use an implementation of this interface without the dependency
> on the Thrift server.
>
> Thank you,
> Austin
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)