[ 
https://issues.apache.org/jira/browse/HIVE-2135?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ashutosh Chauhan updated HIVE-2135:
-----------------------------------

    Attachment: hive_2135.patch

Objectstore, Metastore, Command, execution, retrials are distinct concepts 
which I think are too entwined in current implementation. It would be good to 
disentangle them from each other to make code more modular. I think its better 
to have a separate Command interface which different types of Command will 
implement. execute() should really be a part of Rawstore interface since 
different Objectstore can have different strategies for executing a command and 
may have different ways of doing retrials. Metastore should prepare a Command 
and call execute() on Rawstore to execute it. I am attaching an illustrative 
patch which sketches these ideas for create database command. Let me know if it 
makes sense.

> Refactor HiveMetaStore.java
> ---------------------------
>
>                 Key: HIVE-2135
>                 URL: https://issues.apache.org/jira/browse/HIVE-2135
>             Project: Hive
>          Issue Type: Improvement
>          Components: Metastore
>            Reporter: Ashutosh Chauhan
>            Assignee: Ashutosh Chauhan
>             Fix For: 0.8.0
>
>         Attachments: hive_2135.patch, refactor.patch
>
>
> HiveMetaStore.java is more then 3000 LOC which contains wide variety of code. 
> It will be good to refactor it so that its easier to maintain.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to