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

Miklos Gergely updated HIVE-21401:
----------------------------------
    Attachment:     (was: HIVE-21401.10.patch)

> Break up DDLTask - extract Table related operations
> ---------------------------------------------------
>
>                 Key: HIVE-21401
>                 URL: https://issues.apache.org/jira/browse/HIVE-21401
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Hive
>    Affects Versions: 3.1.1
>            Reporter: Miklos Gergely
>            Assignee: Miklos Gergely
>            Priority: Major
>             Fix For: 4.0.0
>
>         Attachments: HIVE-21401.01.patch, HIVE-21401.02.patch, 
> HIVE-21401.03.patch, HIVE-21401.04.patch, HIVE-21401.05.patch, 
> HIVE-21401.06.patch, HIVE-21401.07.patch, HIVE-21401.08.patch, 
> HIVE-21401.09.patch
>
>
> DDLTask is a huge class, more than 5000 lines long. The related DDLWork is 
> also a huge class, which has a field for each DDL operation it supports. The 
> goal is to refactor these in order to have everything cut into more 
> handleable classes under the package  org.apache.hadoop.hive.ql.exec.ddl:
>  * have a separate class for each operation
>  * have a package for each operation group (database ddl, table ddl, etc), so 
> the amount of classes under a package is more manageable
>  * make all the requests (DDLDesc subclasses) immutable
>  * DDLTask should be agnostic to the actual operations
>  * right now let's ignore the issue of having some operations handled by 
> DDLTask which are not actual DDL operations (lock, unlock, desc...)
> In the interim time when there are two DDLTask and DDLWork classes in the 
> code base the new ones in the new package are called DDLTask2 and DDLWork2 
> thus avoiding the usage of fully qualified class names where both the old and 
> the new classes are in use.
> Step #2: extract all the table related operations from the old DDLTask except 
> alter table, and move them under the new package. Also create the new 
> internal framework.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to