Uh oh!
There was an error while loading. Please reload this page.
branch-4.1: [Fix](Regression) reduce duplicate hive2/hive3 regression runs #61671 - #61749
Conversation
…e#61671) - reduce a set of general external Hive regression suites from hive2+hive3 dual-run to hive3-only - keep the more version-sensitive Hive3-specific coverage separate - shrink duplicate extern regression workload without removing dedicated Hive3 feature cases (cherry picked from commit 51c2609)
Thearas
commented
Mar 26, 2026
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
There was a problem hiding this comment.
Pull request overview
Cherry-picks #61671 onto branch-4.1 to reduce duplicated Hive regression workload by running a set of Hive suites against hive3 only (instead of hive2 + hive3), while preserving Hive3 coverage.
Changes:
- Update multiple Hive-related regression suites to iterate only over
["hive3"]rather than["hive2", "hive3"]. - Keep suite logic intact while reducing duplicated execution time/cost.
- Minor whitespace cleanup in a couple of large Hive TPCH suites.
Reviewed changes
Copilot reviewed 55 out of 55 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| regression-test/suites/mtmv_p0/test_hive_rewrite_mtmv.groovy | Run MTMV Hive rewrite regression only on hive3 |
| regression-test/suites/mtmv_p0/test_hive_olap_mtmv.groovy | Run MTMV Hive+OLAP regression only on hive3 |
| regression-test/suites/mtmv_p0/test_hive_mtmv.groovy | Run MTMV Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_wide_table.groovy | Run wide-table Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_utf8_check.groovy | Run UTF-8 Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_upper_case_column_name.groovy | Run uppercase-column-name Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_truncate_char_or_varchar_columns.groovy | Run truncate char/varchar Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_text_skip_header.groovy | Run text skip-header Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_text_garbled_file.groovy | Run garbled text file Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_string_dict_filter.groovy | Run string dict filter Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_special_orc_formats.groovy | Run special ORC formats Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_parquet_nested_types.groovy | Run parquet nested types Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_parquet_bloom_filter.groovy | Run parquet bloom filter Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_orc_nested_types.groovy | Run ORC nested types Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_open_csv_serde.groovy | Run open CSV serde Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_multi_delimit_serde.groovy | Run multi-delimiter serde Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_mixed_par_locations.groovy | Run mixed parquet locations Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_varbinary_type.groovy | Run varbinary type Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_to_date.groovy | Run hive to_date Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_to_array.groovy | Run hive to_array Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_text_complex_type.groovy | Run text complex type Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_tablesample_p0.groovy | Run TABLESAMPLE Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_statistics_p0.groovy | Run Hive statistics regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_statistics_all_type_p0.groovy | Run Hive statistics (all types) regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_statistic_timeout.groovy | Run Hive statistics timeout regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_statistic_clean.groovy | Run Hive statistics cleanup regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_statistic_auto.groovy | Run Hive statistics auto regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_statistic.groovy | Run Hive statistics regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_schema_evolution.groovy | Run Hive schema evolution regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_same_db_table_name.groovy | Run same DB/table name Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_runtime_filter_partition_pruning.groovy | Run runtime filter partition pruning regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_remove_partition.groovy | Run remove partition Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_query_cache.groovy | Run Hive query cache regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_partition_location.groovy | Run partition location regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_partition_column_analyze.groovy | Run partition column analyze regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_parquet_skip_page.groovy | Run parquet skip-page regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_parquet_alter_column.groovy | Run parquet alter-column regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_parquet.groovy | Run parquet regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_other.groovy | Run misc Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_orc.groovy | Run ORC regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_get_schema_from_table.groovy | Run get-schema-from-table regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_default_partition.groovy | Run default partition regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_broker_scan.groovy | Run broker scan regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_basic_type.groovy | Run basic types regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_hive_analyze_db.groovy | Run analyze DB regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_external_credit_data.groovy | Run external credit data regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_external_catalog_hive_partition.groovy | Run external catalog partition regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_external_catalog_hive.groovy | Run external catalog Hive regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_drop_expired_table_stats.groovy | Run drop expired stats regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_different_parquet_types.groovy | Run different parquet types regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_different_column_orders.groovy | Run different column orders regression only on hive3 |
| regression-test/suites/external_table_p0/hive/test_complex_types.groovy | Run complex types regression only on hive3 |
| regression-test/suites/external_table_p0/hive/hive_tpch_sf1_parquet.groovy | Run TPCH parquet suite only on hive3 (+ whitespace cleanup) |
| regression-test/suites/external_table_p0/hive/hive_tpch_sf1_orc.groovy | Run TPCH ORC suite only on hive3 (+ whitespace cleanup) |
| regression-test/suites/external_table_p0/hive/hive_json_basic_test.groovy | Run Hive JSON basic suite only on hive3 |
Comments suppressed due to low confidence (2)
regression-test/suites/external_table_p0/hive/test_text_skip_header.groovy:30
catalog_nameis set to "${hivePrefix}_test_utf8_check", which is the same catalog name used bytest_utf8_check.groovy. Because regression suites can run in parallel, this shared catalog name can cause cross-suite interference/flakiness (each suite drops/creates the same catalog). Use a suite-specific catalog name here (e.g., based ontest_hive_text_skip_header) to avoid collisions.
regression-test/suites/external_table_p0/hive/test_hive_analyze_db.groovy:47- This suite uses
catalog_name = "${hivePrefix}_test_hive_partition_column_analyze", which collides withtest_hive_partition_column_analyze.groovyusing the exact same catalog name. Since suites may execute concurrently, they can drop/recreate each other’s catalog and cause flaky failures. Rename this catalog to something unique fortest_hive_analyze_db(and keep the drop/create isolated to this suite).
for (String hivePrefix : ["hive3"]) {
String extHiveHmsHost = context.config.otherConfigs.get("externalEnvIp")
String extHiveHmsPort = context.config.otherConfigs.get(hivePrefix + "HmsPort")
String catalog_name = "${hivePrefix}_test_hive_partition_column_analyze"
sql """drop catalog if exists ${catalog_name};"""
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
xylaaaaa
commented
Mar 26, 2026
run buildall |
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
Uh oh!
There was an error while loading. Please reload this page.
What problem does this PR solve?
Issue Number: None
Related PR: #61671
Problem Summary: Cherry-pick #61671 to branch-4.1. This reduces duplicate hive2/hive3 regression execution by limiting the affected Hive regression suites to hive3-only on branch-4.1.
Release note
None
Check List (For Author)
git diff --check HEAD^ HEAD