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/05/05 18:12:29 UTC

Review Request 70597: Break up DDLTask - extract Process related operations

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

Review request for hive and Zoltan Haindrich.


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


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

Also rearranged table and view related operations for a nicer structure.


Diffs
-----

  hcatalog/core/src/main/java/org/apache/hive/hcatalog/cli/SemanticAnalysis/CreateTableHook.java 8366e5ec93 
  hcatalog/core/src/main/java/org/apache/hive/hcatalog/cli/SemanticAnalysis/HCatSemanticAnalyzer.java 6d9dd5eb05 
  itests/util/src/main/java/org/apache/hadoop/hive/ql/metadata/DummySemanticAnalyzerHook.java f988d42366 
  itests/util/src/main/java/org/apache/hadoop/hive/ql/metadata/DummySemanticAnalyzerHook1.java b2b00720c6 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/alter/AlterMaterializedViewDesc.java f0afccacb5 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/alter/AlterMaterializedViewRewriteDesc.java 72cc84c5cd 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/alter/AlterMaterializedViewRewriteOperation.java 379f472452 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/alter/package-info.java b113f39db8 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/process/AbortTransactionsDesc.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/process/AbortTransactionsOperation.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/process/KillQueriesOperation.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/process/ShowCompactionsOperation.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/process/ShowTransactionsDesc.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/process/ShowTransactionsOperation.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/process/package-info.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/CreateTableDesc.java ee32f4c9b4 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/CreateTableLikeDesc.java 6652b79a88 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/CreateTableLikeOperation.java 7cec1e38af 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/CreateTableOperation.java 2987cab9b0 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/CreateViewDesc.java ebc7e00b7d 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/CreateViewOperation.java f8d95aa747 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/DescTableDesc.java bb533c2c85 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/DescTableOperation.java 1d94ff3a5b 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/DropTableDesc.java f910c57f3a 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/DropTableOperation.java d250772b2a 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/LockTableDesc.java 2a8b02e067 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/LockTableOperation.java 2044a81406 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/PreInsertTableDesc.java 4bb609ef54 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/PreInsertTableOperation.java 5d85d0a14c 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowCreateTableDesc.java a06f1fae5f 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowCreateTableOperation.java 932d9428a9 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTablePropertiesDesc.java 7ba1c2daef 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTablePropertiesOperation.java 385052d705 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTableStatusDesc.java 6707350f34 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTableStatusOperation.java ea695fd1a3 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTablesDesc.java 9ec390483d 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTablesOperation.java 71b5717bb8 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/TruncateTableDesc.java 1f0cd82690 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/TruncateTableOperation.java 9778bfac92 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/UnlockTableDesc.java 86050244eb 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/UnlockTableOperation.java 8b70e06ca6 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/creation/package-info.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/info/package-info.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/lock/ShowLocksDesc.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/ddl/table/lock/ShowLocksOperation.java PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java 7c9d910c20 
  ql/src/java/org/apache/hadoop/hive/ql/exec/repl/bootstrap/load/table/LoadTable.java b335f199f8 
  ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java 24fc0d5437 
  ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DbLockManager.java 1a042783b0 
  ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DbTxnManager.java 800d80a067 
  ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveTxnManager.java bb46bf9490 
  ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveTxnManagerImpl.java 0e148ed396 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java c9dd8541c2 
  ql/src/java/org/apache/hadoop/hive/ql/parse/AcidExportSemanticAnalyzer.java 960dd34a8c 
  ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java bd6ae715d6 
  ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java 07b40c996f 
  ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java c4e6e5cc53 
  ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java 4c1e2a27cb 
  ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 0e58fe20b4 
  ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java 67d27cdd87 
  ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/message/DropTableHandler.java edef74e618 
  ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/message/TruncatePartitionHandler.java 05a9f9123f 
  ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/message/TruncateTableHandler.java 5ef66fafa4 
  ql/src/java/org/apache/hadoop/hive/ql/plan/AbortTxnsDesc.java e15d21549f 
  ql/src/java/org/apache/hadoop/hive/ql/plan/CreateOrDropTriggerToPoolMappingDesc.java ce7589492f 
  ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java 1901defa27 
  ql/src/java/org/apache/hadoop/hive/ql/plan/ImportTableDesc.java dd3af1b35c 
  ql/src/java/org/apache/hadoop/hive/ql/plan/KillQueryDesc.java 3a13064411 
  ql/src/java/org/apache/hadoop/hive/ql/plan/LoadFileDesc.java 5d4e93e74a 
  ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java 15e922ebd5 
  ql/src/java/org/apache/hadoop/hive/ql/plan/ShowCompactionsDesc.java 093800f6bb 
  ql/src/java/org/apache/hadoop/hive/ql/plan/ShowLocksDesc.java 2974cd9ac0 
  ql/src/java/org/apache/hadoop/hive/ql/plan/ShowTxnsDesc.java 8696aaa74c 
  ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/CompactorMR.java aa12ddb6af 
  ql/src/test/org/apache/hadoop/hive/ql/parse/TestHiveDecimalParse.java ae22b7f47a 
  ql/src/test/org/apache/hadoop/hive/ql/parse/TestQBCompact.java 90df85c58e 
  ql/src/test/queries/clientpositive/dbtxnmgr_abort.q d9239958f0 
  ql/src/test/queries/clientpositive/dbtxnmgr_showlocks.q 24a42ea7bc 
  ql/src/test/results/clientnegative/lockneg4.q.out c31a23c152 
  ql/src/test/results/clientnegative/lockneg5.q.out 674fad0d77 
  ql/src/test/results/clientpositive/dbtxnmgr_abort.q.out b1c808a302 
  ql/src/test/results/clientpositive/dbtxnmgr_showlocks.q.out aaf1c7835f 
  ql/src/test/results/clientpositive/kill_query.q.out 32c3f6ac57 
  ql/src/test/results/clientpositive/llap/kill_query.q.out 32c3f6ac57 


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


Testing
-------

All the unit tests are running fine + modified some to cover missing cases.


Thanks,

Miklos Gergely