[ 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)