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

Reply via email to