----------------------------------------------------------- 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