Uh oh!
There was an error while loading. Please reload this page.
[fix](regression) Isolate non-catalog Kerberos test database - #65825
Conversation
Use a dedicated Hive database for the non-catalog Kerberos suite so it does not race with test_two_hive_kerberos when both create fixtures concurrently.
hello-stephen
commented
Jul 20, 2026
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
suxiaogang223
commented
Jul 20, 2026
run buildall |
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
suxiaogang223
commented
Jul 21, 2026
/review |
Codex automated review failed and did not complete. Error: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Jul 25th, 2026 3:35 AM. Please inspect the workflow logs and rerun the review after the underlying issue is resolved. |
Uh oh!
There was an error while loading. Please reload this page.
## What changed - Backport the Hive baseline and incremental bootstrap workflow, startup health checks, and external Docker stability improvements. - Backport the ClickHouse startup stabilization and external regression stage timing summary. - Remove obsolete Hive transactional cases and move memory-intensive external cases from P0 to P2. - Remove the obsolete Parquet complex cross-page regression case. - Backport the lightweight Kerberos environment and isolate the non-catalog Kerberos test database. - Apply the minimal deterministic ordering fix from #63719 for Iceberg and Paimon initialization scripts. ## Why `branch-4.1` still uses the older external Docker initialization path and misses several follow-up fixes from `master`. This can leave Hive modules incompletely refreshed, make Iceberg/Paimon initialization order nondeterministic, and consume unnecessary resources in external regression jobs. This PR brings the related fixes into `branch-4.1` as one ordered backport so the external regression environment matches the stabilized behavior on `master`. ## Related PRs Related to #61671, #61869, #61852, #62103, #62664, #62690, #65251, #65460, #65459, #65564, #63719, and #65825. ## Validation - `git diff --check` - Bash syntax checks for all changed `.sh` and `.sh.tpl` files - `bash docker/thirdparties/test/run-thirdparties-docker-hive-bootstrap-groups-test.sh` - `python3 regression-test/pipeline/common/test_stage_timer.py` Compilation and local Docker startup were intentionally skipped because these changes are limited to Docker and regression infrastructure. The external regression pipeline will provide end-to-end validation.
This PR backports the external Docker startup improvements and the applicable follow-up fixes to `branch-4.0`. ### Included backports | PR | Backported scope | | --- | --- | | #61852 | Split Hive bootstrap data into common, Hive2-only, and Hive3-only groups | | #62103 | Hive baseline restore plus incremental module refresh | | #62664 | External Docker startup cleanup, diagnostics, and health handling | | #62690 | ClickHouse startup and health-check stabilization | | #63719 | Only the deterministic `find \| sort` changes required by Iceberg/Paimon initialization | | #61671 | Reduce duplicate Hive2/Hive3 regression runs | | #65460 | Remove obsolete Hive transactional cases and their initialization work | | #65564 | Backport the lightweight Kerberos environment | | #61869 | Add external regression stage timing and diagnostics | | #65459 | Move resource-intensive external cases and Docker components to P2 | | #65825 | Apply the follow-up fixes for the lightweight Kerberos environment | | #65251 | Remove the obsolete Parquet complex cross-page case and expected output | The later fixes made while validating the companion `branch-4.1` backport #65913 are also included: - Switch `test_hive_topn_rf_null` to Hive2 so it matches the Hive2-only `run81.hql` bootstrap group. - Change the location-backed `decimals_1_10` table in `run82.hql` to `CREATE TABLE IF NOT EXISTS`, avoiding deletion of preinstalled HDFS data during refresh. - Keep `HIVE_BASELINE_VERSION=20260415`, the same baseline version used by `master` and the companion 4.1 backport. ### Intentionally not included | PR | Reason | | --- | --- | | #63673 | Already present in `branch-4.0` | | #63542 | Already present in `branch-4.0` | | #64886 | `branch-4.0` still uses the older Iceberg/Spark layout; this cannot be picked independently | | #64671 | Contains a BE feature change together with new regression cases; it is outside this Docker backport | | #60262 | Not cherry-picked as a whole; only the final TopN Hive2 mapping needed by the bootstrap grouping is retained | ## Why `branch-4.0` still uses the older external Docker initialization path. Without these backports, Hive modules can remain incompletely refreshed, Iceberg/Paimon SQL execution order can be nondeterministic, and external jobs repeat unnecessary Hive2/Hive3 coverage. During conflict resolution, this backport preserves the `branch-4.0` Iceberg/Paimon 1.10 data archive and jar bootstrap while integrating the new startup and health-check framework. It does not introduce the newer Spark Thrift JDBC architecture. ## Validation - `git diff --check` - Conflict-marker scan across `docker`, `regression-test`, and `be/src` - Bash syntax checks for all changed `.sh` and `.sh.tpl` files - `bash docker/thirdparties/test/run-thirdparties-docker-hive-bootstrap-groups-test.sh` - `python3 regression-test/pipeline/common/test_stage_timer.py` - Confirmed the BE and new serde regression files from #64671 are absent from the final diff Compilation and local Docker startup were intentionally skipped. The final scope contains Docker, scripts, pipeline support, and regression-case organization only. --------- Co-authored-by: Chenjunwei <138805230+xylaaaaa@users.noreply.github.com>
…65825) The Kerberos external regression suites can run concurrently against the same Hive Metastore. Both `test_non_catalog_kerberos` and `test_two_hive_kerberos` used the database name `test_krb_hive_db`. Creating an external HMS database with `IF NOT EXISTS` performs a check followed by a create operation. When both suites create the database concurrently, both checks can observe that it is absent, and one request then fails with an HMS `AlreadyExistsException`. Use a dedicated `test_non_catalog_krb_hive_db` database for the non-catalog Kerberos suite. This isolates its fixture from the two-Hive suite without changing the tested export, outfile, HDFS, or Kerberos behavior.
What problem does this PR solve?
Issue Number: None
Problem Summary:
The Kerberos external regression suites can run concurrently against the same Hive Metastore. Both
test_non_catalog_kerberosandtest_two_hive_kerberosused the database nametest_krb_hive_db.Creating an external HMS database with
IF NOT EXISTSperforms a check followed by a create operation. When both suites create the database concurrently, both checks can observe that it is absent, and one request then fails with an HMSAlreadyExistsException.Use a dedicated
test_non_catalog_krb_hive_dbdatabase for the non-catalog Kerberos suite. This isolates its fixture from the two-Hive suite without changing the tested export, outfile, HDFS, or Kerberos behavior.Release note
None
Check List (For Author)
git diff --check