Skip to content

branch-4.1: [improvement](regression) Reduce external regression memory#65811

Open
suxiaogang223 wants to merge 2 commits into
apache:branch-4.1from
suxiaogang223:codex/backport-65564-4.1
Open

branch-4.1: [improvement](regression) Reduce external regression memory#65811
suxiaogang223 wants to merge 2 commits into
apache:branch-4.1from
suxiaogang223:codex/backport-65564-4.1

Conversation

@suxiaogang223

@suxiaogang223 suxiaogang223 commented Jul 20, 2026

Copy link
Copy Markdown
Member

What problem does this PR solve?

Issue Number: None

Related PRs: #65459, #65564

Problem Summary: Backport two external regression memory optimizations from master to branch-4.1 in their master merge order:

  1. Cherry-pick 394740cc350b0c1fb082d2fc5040d9617c2da0fc from [test](regression) Move memory-intensive external cases to P2 #65459 to move DB2, SQL Server, OceanBase, and Elasticsearch compatibility cases from P0 to P2.
  2. Cherry-pick 52e154530ff72b53d205f77d845a3072e44ea5f1 from [improvement](regression) Reduce Kerberos test environment memory #65564 to replace the heavyweight Kerberos containers with the minimal KDC, HDFS, and Hive Metastore environment.

Both automatic backports conflicted with release-branch suite layout, deleted ES coverage, Kerberos bootstrap configuration, and third-party launcher differences. The conflicts were resolved manually while retaining branch-4.1 changes, including keeping the ES predicate-correctness case deleted.

Release note

None

Check List (For Author)

  • Test: Manual test
    • bash -n for the changed Kerberos and third-party startup scripts
    • git diff --check origin/branch-4.1..HEAD
    • Verified moved ES/JDBC suites use the P2 group and the branch-deleted ES predicate case remains absent
  • Behavior changed: Yes. Memory-intensive DB2, SQL Server, OceanBase, and Elasticsearch cases run in P2, while P0 Kerberos coverage uses the minimal container environment.
  • Does this need documentation: No

@hello-stephen

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@suxiaogang223

Copy link
Copy Markdown
Member Author

run buildall

…#65459)

Problem Summary:

The P0 external regression pipeline currently starts several
memory-intensive Docker services for relatively low-priority
compatibility coverage. This PR reduces the P0 resource footprint by
moving the following service-specific cases and expected results to P2:

- DB2
- SQL Server / MSSQL, including the SQL Server Trino connector and
row-count coverage
- OceanBase
- Elasticsearch 5/6/7/8, including ES MTMV coverage

The SQL Server row-count checks are split from the mixed P0 JDBC suite
so the existing MySQL, PostgreSQL, and Oracle P0 coverage remains
unchanged. The ES MTMV database reference is updated to match its new P2
directory.

Kerberos was evaluated separately but remains required in P0 for safety.
The earlier Kerberos move has been fully reverted, so the cumulative
diff of this PR contains no Kerberos file changes.

This PR only changes regression-suite grouping and paths. It does not
change Docker service configuration, runtime behavior, query behavior,
or expected test results.

(cherry picked from commit 394740c)
…ache#65564)

Problem Summary:

The external regression pipeline currently runs two heavyweight Kerberos
containers. Each container starts HiveServer2, YARN
ResourceManager/NodeManager, MariaDB, and other processes that the Doris
Kerberos cases do not use, resulting in roughly 4.3 GB of combined
memory usage.

This PR replaces those images with a minimal reusable environment based
on Apache Hive 3.1.3. Each realm now runs only:

- a native MIT Kerberos KDC
- one HDFS NameNode and DataNode
- one Kerberos-enabled Hive Metastore backed by embedded Derby

The existing realm names, ports, service principals, client principals,
and keytab filenames remain unchanged. JVM heaps are explicitly bounded,
and each container has a 1.5 GB memory limit. HDFS listeners bind
independently from their advertised Kerberos hostnames, and startup now
waits until each DataNode is registered with its NameNode.

The container no longer owns Hive test fixtures.
`test_single_hive_kerberos` and `test_two_hive_kerberos` now create
their test database, Hive table, and four rows through Doris.
`test_non_catalog_kerberos` also creates its database so it no longer
depends on suite execution order. Existing expected output files remain
unchanged.

(cherry picked from commit 52e1545)
@suxiaogang223
suxiaogang223 force-pushed the codex/backport-65564-4.1 branch from e3d7e64 to 62d244f Compare July 20, 2026 08:15
@suxiaogang223 suxiaogang223 changed the title branch-4.1: [improvement](regression) Reduce Kerberos test environment memory branch-4.1: [improvement](regression) Reduce external regression memory Jul 20, 2026
@suxiaogang223

Copy link
Copy Markdown
Member Author

run buildall

@suxiaogang223
suxiaogang223 marked this pull request as ready for review July 20, 2026 08:17
@suxiaogang223
suxiaogang223 requested a review from yiguolei as a code owner July 20, 2026 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants