[ 
https://issues.apache.org/jira/browse/HIVE-27473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17938568#comment-17938568
 ] 

Seonggon Namgung commented on HIVE-27473:
-----------------------------------------

[~okumin] , thank you for taking the time to analyze the sample and share your 
opinion.

The order of steps is slightly different because I didn’t fully understand the 
current implementation and focused on filling in all the methods. However, I 
expect that we can minimize these differences so that they do not impact 
correctness or behaviour.

I also agree that Option 2 might be slightly easier than Option 1 due to the 
large number of deprecated or overloaded methods in IMetaStoreClient. The 
number of @Override annotations in HiveMetaStoreClient.java and 
AbstractThriftHiveMetaStore are 369 and 272, respectively, and I guess this 
difference comes from overloaded methods such as `getTable` vs. 
`get_table_req`. However, in my opinion, this disadvantage is acceptable 
compared to the advantages of Option 1.

Regarding the restructuring issue, I think we need additional checks and 
discussions. I plan to organize the sample and write a design document, and I 
believe we can make a decision once all the expected changes in HIVE-27473 are 
summarized.

> Make SessionHiveMetaStoreClient and HiveMetaStoreClientWithLocalCache 
> composable
> --------------------------------------------------------------------------------
>
>                 Key: HIVE-27473
>                 URL: https://issues.apache.org/jira/browse/HIVE-27473
>             Project: Hive
>          Issue Type: Improvement
>          Components: Hive
>    Affects Versions: 4.0.0-alpha-2
>            Reporter: Shohei Okumiya
>            Assignee: Shohei Okumiya
>            Priority: Major
>
> Currently, we implement the two classes using inheritance. It assumes we 
> always use a single implementation of IMetaStoreClient.
> Some community members have been willing to make IMetaStoreClient pluggable 
> as proposed in HIVE-12679. Considering the use case, we should provide the 
> additional traits with composition over inheritance.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to