You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Miklos Gergely <mg...@hortonworks.com> on 2019/03/29 16:24:40 UTC

Review Request 70341: Break up DDLTask - extract View related operations

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/70341/
-----------------------------------------------------------

Review request for hive and Zoltan Haindrich.


Bugs: HIVE-21523
    https://issues.apache.org/jira/browse/HIVE-21523


Repository: hive-git


Description
-------

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 #3: extract all the view related operations from the old DDLTask, and move them under the new package.


Diffs
-----

  ql/src/java/org/apache/hadoop/hive/ql/ddl/alter/AlterMaterializedViewDesc.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/alter/AlterMaterializedViewRewriteOperation.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/alter/package-info.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/CreateViewOperation.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java f4281bdd7b 
  ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java baf635633d 
  ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java 77e181863e 
  ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java 0405ee8f02 
  ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 1e79f325f8 
  ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java 0b6ff524b1 
  ql/src/java/org/apache/hadoop/hive/ql/plan/AlterMaterializedViewDesc.java 865d1431d1 
  ql/src/java/org/apache/hadoop/hive/ql/plan/CreateViewDesc.java b693fdb845 
  ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java 2b653a5d21 
  ql/src/java/org/apache/hadoop/hive/ql/plan/ImportTableDesc.java 381c3b54a5 
  ql/src/java/org/apache/hadoop/hive/ql/plan/LoadFileDesc.java 3abdc4859f 
  ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java b668e40594 
  ql/src/test/results/clientnegative/create_view_failure1.q.out 2b9a324c06 
  ql/src/test/results/clientnegative/create_view_failure4.q.out 300715d4cf 
  ql/src/test/results/clientnegative/masking_mv.q.out 6d5a46982e 
  ql/src/test/results/clientnegative/materialized_view_no_cbo_rewrite_2.q.out b04004b0d2 
  ql/src/test/results/clientnegative/materialized_view_no_supported_op_rewrite_2.q.out 0b72e3cb83 
  ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out 37cdb0af43 
  ql/src/test/results/clientpositive/create_view.q.out 081ac6f9d3 
  ql/src/test/results/clientpositive/create_view_translate.q.out 34ffb33bbf 
  ql/src/test/results/clientpositive/explain_ddl.q.out c52eda11d7 
  ql/src/test/results/clientpositive/llap/explainuser_1.q.out 1ea8fdcbb2 
  ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out 6bf9ee5e54 
  ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out e0efe3cc1e 
  ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out 6c3ba6cd96 
  ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_dummy.q.out 734ae685ef 
  ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out b55287deb0 
  ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out cf6a6bace1 
  ql/src/test/results/clientpositive/llap/materialized_view_partitioned.q.out 19f014b57e 
  ql/src/test/results/clientpositive/llap/materialized_view_partitioned_3.q.out 0153822e7f 
  ql/src/test/results/clientpositive/llap/selectDistinctStar.q.out e0d42892f8 
  ql/src/test/results/clientpositive/llap/union_top_level.q.out 574ce2ba45 
  ql/src/test/results/clientpositive/llap/vector_windowing.q.out 8774c04347 
  ql/src/test/results/clientpositive/masking_mv.q.out afb0ecb672 
  ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out b8403f4e39 
  ql/src/test/results/clientpositive/spark/union_top_level.q.out 06f1bae0bd 
  ql/src/test/results/clientpositive/tez/explainanalyze_3.q.out eca2bf9e09 
  ql/src/test/results/clientpositive/tez/explainuser_3.q.out 3cb41ad1f7 


Diff: https://reviews.apache.org/r/70341/diff/1/


Testing
-------

Every q test is still running.


Thanks,

Miklos Gergely