----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/70176/ -----------------------------------------------------------
Review request for hive and Zoltan Haindrich. Bugs: HIVE-21401 https://issues.apache.org/jira/browse/HIVE-21401 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 #2: extract all the table related operations from the old DDLTask except alter table, and move them under the new package. Also updated the framework a bit, and fixed some smaller issue related to the previous step. Diffs ----- accumulo-handler/src/test/results/positive/accumulo_queries.q.out ac2d527 accumulo-handler/src/test/results/positive/accumulo_single_sourced_multi_insert.q.out ac809fa common/src/java/org/apache/hadoop/hive/conf/HiveConf.java c33d03e contrib/src/test/results/clientnegative/serde_regex.q.out 58a4679 contrib/src/test/results/clientpositive/fileformat_base64.q.out 8e6a5e4 contrib/src/test/results/clientpositive/serde_regex.q.out 691e254 hbase-handler/src/test/results/positive/hbase_ddl.q.out e87240a hbase-handler/src/test/results/positive/hbase_queries.q.out 02f46d8 hbase-handler/src/test/results/positive/hbase_single_sourced_multi_insert.q.out b15515e hbase-handler/src/test/results/positive/hbasestats.q.out 5143522 hcatalog/core/src/main/java/org/apache/hive/hcatalog/cli/SemanticAnalysis/CreateTableHook.java a377805 hcatalog/core/src/main/java/org/apache/hive/hcatalog/cli/SemanticAnalysis/HCatSemanticAnalyzer.java fd159fe itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java 45aac5f itests/util/src/main/java/org/apache/hadoop/hive/ql/metadata/DummySemanticAnalyzerHook.java 3575a16 itests/util/src/main/java/org/apache/hadoop/hive/ql/metadata/DummySemanticAnalyzerHook1.java e20ac64 ql/src/java/org/apache/hadoop/hive/ql/ddl/DDLOperation.java e349a0a ql/src/java/org/apache/hadoop/hive/ql/ddl/DDLOperationContext.java 924f0b3 ql/src/java/org/apache/hadoop/hive/ql/ddl/DDLTask2.java 068e1e7 ql/src/java/org/apache/hadoop/hive/ql/ddl/DDLWork2.java d2fbe8f ql/src/java/org/apache/hadoop/hive/ql/ddl/database/DescDatabaseOperation.java efaf389 ql/src/java/org/apache/hadoop/hive/ql/ddl/database/ShowCreateDatabaseDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/database/ShowCreateDatabaseOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/CreateTableDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/CreateTableLikeDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/CreateTableLikeOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/CreateTableOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/DescTableDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/DescTableOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/DropTableDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/DropTableOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/LockTableDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/LockTableOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/PreInsertTableDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/PreInsertTableOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowCreateTableDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowCreateTableOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTablePropertiesDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTablePropertiesOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTableStatusDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTableStatusOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTablesDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/ShowTablesOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/TruncateTableDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/TruncateTableOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/UnlockTableDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/UnlockTableOperation.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/ddl/table/package-info.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java a56695b ql/src/java/org/apache/hadoop/hive/ql/exec/repl/bootstrap/load/table/LoadPartitions.java c1773c9 ql/src/java/org/apache/hadoop/hive/ql/exec/repl/bootstrap/load/table/LoadTable.java 3b0b67a ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java 3961baa ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DbTxnManager.java 4aea872 ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveTxnManager.java 43dba73 ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveTxnManagerImpl.java 0abec56 ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java 17576ff ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/JsonMetaDataFormatter.java a3ae886 ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatUtils.java 4180dc4 ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/MetaDataFormatter.java 80e3d8b ql/src/java/org/apache/hadoop/hive/ql/metadata/formatting/TextMetaDataFormatter.java fbeb9c8 ql/src/java/org/apache/hadoop/hive/ql/optimizer/QueryPlanPostProcessor.java cf54aa3 ql/src/java/org/apache/hadoop/hive/ql/parse/AcidExportSemanticAnalyzer.java 4b2958a ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 4a542ae ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java b6b4f58 ql/src/java/org/apache/hadoop/hive/ql/parse/ParseContext.java 7b30b59 ql/src/java/org/apache/hadoop/hive/ql/parse/PreInsertTableDesc.java 2c8e1e1 ql/src/java/org/apache/hadoop/hive/ql/parse/QB.java a2f6fbb ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 05257c9 ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java 8a51e21 ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/message/DropPartitionHandler.java b95a35a ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/message/DropTableHandler.java 62784e9 ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/message/TruncatePartitionHandler.java dec6ed5 ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/message/TruncateTableHandler.java f037cbb ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableDesc.java 4514af1 ql/src/java/org/apache/hadoop/hive/ql/plan/CreateTableLikeDesc.java 2cc0712 ql/src/java/org/apache/hadoop/hive/ql/plan/DDLWork.java 6527e52 ql/src/java/org/apache/hadoop/hive/ql/plan/DescTableDesc.java ee50232 ql/src/java/org/apache/hadoop/hive/ql/plan/DropPartitionDesc.java PRE-CREATION ql/src/java/org/apache/hadoop/hive/ql/plan/DropTableDesc.java 5d22154 ql/src/java/org/apache/hadoop/hive/ql/plan/ImportTableDesc.java 017e1c7 ql/src/java/org/apache/hadoop/hive/ql/plan/LoadFileDesc.java 46761ff ql/src/java/org/apache/hadoop/hive/ql/plan/LockTableDesc.java 723678e ql/src/java/org/apache/hadoop/hive/ql/plan/PlanUtils.java 33a5371 ql/src/java/org/apache/hadoop/hive/ql/plan/ShowCreateDatabaseDesc.java ba5d06e ql/src/java/org/apache/hadoop/hive/ql/plan/ShowCreateTableDesc.java f96c529 ql/src/java/org/apache/hadoop/hive/ql/plan/ShowTableStatusDesc.java 5022e28 ql/src/java/org/apache/hadoop/hive/ql/plan/ShowTablesDesc.java 0f7a3cd ql/src/java/org/apache/hadoop/hive/ql/plan/ShowTblPropertiesDesc.java aac0cf2 ql/src/java/org/apache/hadoop/hive/ql/plan/TruncateTableDesc.java 61deb24 ql/src/java/org/apache/hadoop/hive/ql/plan/UnlockTableDesc.java 0b91463 ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/CompactorMR.java 198f7fd ql/src/test/org/apache/hadoop/hive/ql/parse/TestHiveDecimalParse.java 1ad0225 ql/src/test/queries/clientpositive/db_ddl_explain.q PRE-CREATION ql/src/test/results/clientnegative/authorization_explain.q.out 792de42 ql/src/test/results/clientnegative/avro_decimal.q.out 9d00d6e ql/src/test/results/clientnegative/constraint_duplicate_name.q.out 8a154f6 ql/src/test/results/clientnegative/create_external_acid.q.out 123fe5a ql/src/test/results/clientnegative/create_not_acid.q.out e5aad61 ql/src/test/results/clientnegative/create_table_wrong_regex.q.out 931f2a7 ql/src/test/results/clientnegative/create_view_failure2.q.out ad5d5fe ql/src/test/results/clientnegative/create_with_constraints_duplicate_name.q.out b3d1d9f ql/src/test/results/clientnegative/create_with_fk_constraint.q.out 6598d6c ql/src/test/results/clientnegative/create_with_fk_pk_same_tab.q.out fae2769 ql/src/test/results/clientnegative/create_with_fk_uk_same_tab.q.out 1644d5a ql/src/test/results/clientnegative/create_with_fk_wrong_ref.q.out ce0f947 ql/src/test/results/clientnegative/create_with_fk_wrong_ref2.q.out 998c643 ql/src/test/results/clientnegative/dbtxnmgr_notablelock.q.out 3fad08c ql/src/test/results/clientnegative/dbtxnmgr_notableunlock.q.out 2d9a20f ql/src/test/results/clientnegative/deletejar.q.out d52186b ql/src/test/results/clientnegative/describe_xpath1.q.out 322e6e8 ql/src/test/results/clientnegative/describe_xpath2.q.out c1f2ec1 ql/src/test/results/clientnegative/describe_xpath3.q.out a300633 ql/src/test/results/clientnegative/describe_xpath4.q.out b569eca ql/src/test/results/clientnegative/drop_table_failure2.q.out f0097cd ql/src/test/results/clientnegative/drop_table_used_by_mv.q.out 88e3b7d ql/src/test/results/clientnegative/drop_view_failure1.q.out a1a4498 ql/src/test/results/clientnegative/druid_address.q.out 66b7e14 ql/src/test/results/clientnegative/druid_buckets.q.out 94e4f70 ql/src/test/results/clientnegative/druid_case.q.out 457028b ql/src/test/results/clientnegative/druid_datasource.q.out 177ffaa ql/src/test/results/clientnegative/druid_datasource2.q.out 2f783fe ql/src/test/results/clientnegative/druid_location.q.out 5727e8c ql/src/test/results/clientnegative/druid_partitions.q.out 6fb55c1 ql/src/test/results/clientnegative/external1.q.out f2bc9c6 ql/src/test/results/clientnegative/insert_sorted.q.out bb3c7e3 ql/src/test/results/clientnegative/lockneg1.q.out 3a96cda ql/src/test/results/clientnegative/lockneg2.q.out 31e9087 ql/src/test/results/clientnegative/lockneg3.q.out e4f6357 ql/src/test/results/clientnegative/materialized_view_drop.q.out da95afb ql/src/test/results/clientnegative/materialized_view_drop2.q.out d4f243c ql/src/test/results/clientnegative/nested_complex_neg.q.out a6f9ac5 ql/src/test/results/clientnegative/serde_regex.q.out 1047a82 ql/src/test/results/clientnegative/serde_regex3.q.out 33d647b ql/src/test/results/clientnegative/special_character_in_tabnames_1.q.out d7b9965 ql/src/test/results/clientnegative/strict_managed_tables1.q.out a659644 ql/src/test/results/clientnegative/strict_managed_tables4.q.out 0c7576f ql/src/test/results/clientnegative/strict_managed_tables5.q.out 0e29fbd ql/src/test/results/clientpositive/ambiguitycheck.q.out aff5752 ql/src/test/results/clientpositive/annotate_stats_table.q.out d7f7b22 ql/src/test/results/clientpositive/create_union_table.q.out f773f34 ql/src/test/results/clientpositive/ctas.q.out 7c7378a ql/src/test/results/clientpositive/ctas_colname.q.out 9db4ddd ql/src/test/results/clientpositive/ctas_uses_database_location.q.out eb3872e ql/src/test/results/clientpositive/db_ddl_explain.q.out PRE-CREATION ql/src/test/results/clientpositive/drop_deleted_partitions.q.out 85f4f53 ql/src/test/results/clientpositive/drop_multi_partitions.q.out 6b59749 ql/src/test/results/clientpositive/druid/druidmini_dynamic_partition.q.out d25b350 ql/src/test/results/clientpositive/druid/druidmini_mv.q.out 96690af ql/src/test/results/clientpositive/explain_ddl.q.out a71925f ql/src/test/results/clientpositive/fileformat_sequencefile.q.out 8610fa0 ql/src/test/results/clientpositive/fileformat_text.q.out 387f807 ql/src/test/results/clientpositive/groupby_duplicate_key.q.out 432ff08 ql/src/test/results/clientpositive/input1.q.out 63f8af0 ql/src/test/results/clientpositive/input10.q.out bbdff6e ql/src/test/results/clientpositive/input15.q.out 2dbf6fb ql/src/test/results/clientpositive/input2.q.out aada917 ql/src/test/results/clientpositive/inputddl1.q.out a95e9f1 ql/src/test/results/clientpositive/inputddl2.q.out a5ec1c9 ql/src/test/results/clientpositive/inputddl3.q.out 639f095 ql/src/test/results/clientpositive/inputddl6.q.out e14807c ql/src/test/results/clientpositive/llap/ctas.q.out c761b9d ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out adf8011 ql/src/test/results/clientpositive/llap/explainuser_1.q.out 1ee459b ql/src/test/results/clientpositive/llap/partition_ctas.q.out 3e290b3 ql/src/test/results/clientpositive/llap/rcfile_createas1.q.out 4f1a479 ql/src/test/results/clientpositive/llap/semijoin_reddedup.q.out 1fca347 ql/src/test/results/clientpositive/llap/temp_table.q.out 45be750 ql/src/test/results/clientpositive/llap/tez_dml.q.out 1e8ab44 ql/src/test/results/clientpositive/llap/tez_join_result_complex.q.out c54a89b ql/src/test/results/clientpositive/llap/unionDistinct_1.q.out 7f2cc85 ql/src/test/results/clientpositive/llap/union_top_level.q.out 8fc40fc ql/src/test/results/clientpositive/llap/vector_char_varchar_1.q.out e919a70 ql/src/test/results/clientpositive/llap/vector_decimal_6.q.out ad1757c ql/src/test/results/clientpositive/llap/vector_windowing_streaming.q.out 41d12ba ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out 21d4e1b ql/src/test/results/clientpositive/merge3.q.out 00280e7 ql/src/test/results/clientpositive/nonReservedKeyWords.q.out 7d27c34 ql/src/test/results/clientpositive/nonmr_fetch.q.out 6d439af ql/src/test/results/clientpositive/nullformat.q.out d14c570 ql/src/test/results/clientpositive/nullformatCTAS.q.out 1d9edbc ql/src/test/results/clientpositive/orc_createas1.q.out aa6ba1b ql/src/test/results/clientpositive/parallel_orderby.q.out 158e6ee ql/src/test/results/clientpositive/serde_opencsv.q.out 1f80eeb ql/src/test/results/clientpositive/serde_regex.q.out 1d00a49 ql/src/test/results/clientpositive/show_tables.q.out 18d7c59 ql/src/test/results/clientpositive/show_tablestatus.q.out 3fbc93f ql/src/test/results/clientpositive/skewjoin_noskew.q.out f22cee0 ql/src/test/results/clientpositive/skewjoin_onesideskew.q.out 28b7c8b ql/src/test/results/clientpositive/smb_mapjoin9.q.out cc78847 ql/src/test/results/clientpositive/spark/ctas.q.out 907ace2 ql/src/test/results/clientpositive/spark/parallel_orderby.q.out edb7793 ql/src/test/results/clientpositive/spark/skewjoin_noskew.q.out 7afa720 ql/src/test/results/clientpositive/spark/spark_dynamic_partition_pruning.q.out d3c55a3 ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out 0422dc2 ql/src/test/results/clientpositive/spark/spark_vectorized_dynamic_partition_pruning.q.out 6fbab46 ql/src/test/results/clientpositive/spark/temp_table.q.out 8ec449b ql/src/test/results/clientpositive/spark/union25.q.out 6c80376 ql/src/test/results/clientpositive/spark/union_top_level.q.out 51fae27 ql/src/test/results/clientpositive/symlink_text_input_format.q.out fd8800c ql/src/test/results/clientpositive/temp_table_truncate.q.out ba7133b ql/src/test/results/clientpositive/tez/explainanalyze_1.q.out 77395ad ql/src/test/results/clientpositive/tez/explainanalyze_3.q.out 4d34541 ql/src/test/results/clientpositive/tez/explainuser_3.q.out 2b2027c ql/src/test/results/clientpositive/truncate_table.q.out 6ce5f3a ql/src/test/results/clientpositive/union25.q.out 2423f5c ql/src/test/results/clientpositive/vector_decimal_6.q.out f351f3e ql/src/test/results/clientpositive/vector_tablesample_rows.q.out ff09824 Diff: https://reviews.apache.org/r/70176/diff/1/ Testing ------- All the unit and q tests are still running. Thanks, Miklos Gergely