Skip to content

HADOOP-19857. Enable unit tests on GHA#8452

Open
pan3793 wants to merge 37 commits intoapache:trunkfrom
pan3793:gha-enable-tests
Open

HADOOP-19857. Enable unit tests on GHA#8452
pan3793 wants to merge 37 commits intoapache:trunkfrom
pan3793:gha-enable-tests

Conversation

@pan3793
Copy link
Copy Markdown
Member

@pan3793 pan3793 commented Apr 22, 2026

Description of PR

This PR enables running unit tests in parallel on GitHub Actions, with ~150 test suites(classes) excluded due to flaky or consistently failing on GHA that need to be fixed later, all of the remaining test suites take ~2.5 hours to complete. As a comparison, Jenkins takes ~30 hours.

How was this patch tested?

GHA report.

For code changes:

  • Does the title or this PR starts with the corresponding JIRA issue id (HADOOP-19857)?
  • Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

AI Tooling

No AI usage.

Comment thread .github/workflows/tmpl_build_and_test.yml Outdated
options: --user ${{ needs.build-image.outputs.uid }}
strategy:
fail-fast: false
max-parallel: 6
Copy link
Copy Markdown
Member Author

@pan3793 pan3793 Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note, this runs in the contributor's forked repo, it's free but has concurrency limitations, also remember that each split requires a build, larger parallel splits consume more overall time.

include:
- comment: hdfs
modules:
-pl :hadoop-hdfs
Copy link
Copy Markdown
Member Author

@pan3793 pan3793 Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC, this single module takes more than 4 hours to complete (even though more than 20 tests are excluded for now), we need to improve the slow tests and use tags to split it into more groups

Copy link
Copy Markdown
Member Author

@pan3793 pan3793 Apr 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay, it actually takes 5 hours to complete (with ~30 tests excluded).

I split it into 2 groups:

  • slow, ~70 classes, which single test class takes more than 60s, all of them take ~150min
  • other, the rest of them

hope it can be completed in 2.5 hours next round

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ajfabbri, given the situation, I expect we may

  • exclude fewer than 200 test classes
  • keep others running stable on GHA, within 3 hours

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not ready but almost here, with ~160 test suites (classes) excluded, all remaining tests run successfully in 2.5h

https://github.com/pan3793/hadoop/actions/runs/24870046901

I still need to re-run several rounds to ensure the initial test list runs stably.

@ajfabbri @steveloughran @slfan1989 would be great if you could take a look first.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pan3793 Will look at it when I get back. I am on vacation until tomorrow night.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems fine. We have some work to do on improving tests: We need to make them faster, and completely eliminate flaky tests (ideally). This gives us an iterative way to tackle it. 👍

@pan3793 pan3793 force-pushed the gha-enable-tests branch 4 times, most recently from 8a5ffe4 to 1dcdec9 Compare April 23, 2026 02:34
@apache apache deleted a comment from hadoop-yetus Apr 23, 2026
@apache apache deleted a comment from hadoop-yetus Apr 23, 2026
@apache apache deleted a comment from hadoop-yetus Apr 23, 2026
@apache apache deleted a comment from hadoop-yetus Apr 23, 2026
@apache apache deleted a comment from hadoop-yetus Apr 23, 2026
@pan3793 pan3793 force-pushed the gha-enable-tests branch 3 times, most recently from 1a874a0 to 5ee44de Compare April 24, 2026 11:40
@apache apache deleted a comment from hadoop-yetus Apr 24, 2026
@apache apache deleted a comment from hadoop-yetus Apr 24, 2026
@apache apache deleted a comment from hadoop-yetus Apr 24, 2026
@apache apache deleted a comment from hadoop-yetus Apr 24, 2026
@apache apache deleted a comment from hadoop-yetus Apr 24, 2026
@apache apache deleted a comment from hadoop-yetus Apr 24, 2026
@hadoop-yetus
Copy link
Copy Markdown

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 20s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 markdownlint 0m 1s markdownlint was not available.
+0 🆗 yamllint 0m 1s yamllint was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 73 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 2m 10s Maven dependency ordering for branch
+1 💚 mvninstall 26m 35s trunk passed
+1 💚 compile 8m 34s trunk passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 compile 8m 52s trunk passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 checkstyle 3m 6s trunk passed
+1 💚 mvnsite 9m 43s trunk passed
+1 💚 javadoc 6m 4s trunk passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javadoc 5m 59s trunk passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
-1 ❌ spotbugs 19m 19s /branch-spotbugs-root-warnings.html root in trunk has 92 extant spotbugs warnings.
+1 💚 shadedclient 15m 27s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 18s Maven dependency ordering for patch
+1 💚 mvninstall 22m 4s the patch passed
+1 💚 compile 8m 33s the patch passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javac 8m 33s the patch passed
+1 💚 compile 8m 52s the patch passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 javac 8m 52s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 3m 1s the patch passed
+1 💚 mvnsite 9m 39s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 6m 0s the patch passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javadoc 5m 55s the patch passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 spotbugs 25m 3s the patch passed
+1 💚 shadedclient 34m 10s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 626m 15s /patch-unit-root.txt root in the patch failed.
+1 💚 asflicense 1m 9s The patch does not generate ASF License warnings.
847m 58s
Reason Tests
Failed junit tests hadoop.yarn.server.nodemanager.containermanager.logaggregation.TestLogAggregationService
hadoop.yarn.server.resourcemanager.reservation.TestCapacityOverTimePolicy
hadoop.yarn.server.router.webapp.TestRouterWebServicesREST
Subsystem Report/Notes
Docker ClientAPI=1.54 ServerAPI=1.54 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8452/21/artifact/out/Dockerfile
GITHUB PR #8452
Optional Tests dupname asflicense codespell detsecrets mvnsite markdownlint yamllint compile javac javadoc mvninstall unit shadedclient spotbugs checkstyle shellcheck xmllint
uname Linux e53198cb0b25 5.15.0-171-generic #181-Ubuntu SMP Fri Feb 6 22:44:50 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 7f2a44d
Default Java Ubuntu-17.0.18+8-Ubuntu-124.04.1
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.10+7-Ubuntu-124.04 /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.18+8-Ubuntu-124.04.1
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8452/21/testReport/
Max. process+thread count 4144 (vs. ulimit of 10000)
modules C: hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs hadoop-hdfs-project/hadoop-hdfs-rbf hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8452/21/console
versions git=2.43.0 maven=3.9.11 spotbugs=4.9.7 shellcheck=0.9.0
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

@pan3793 pan3793 force-pushed the gha-enable-tests branch from 5bcab0c to 3655c41 Compare May 8, 2026 07:53
@github-actions github-actions Bot removed the YARN label May 8, 2026
@pan3793 pan3793 changed the title [DO-NOT-MERGE] Enable tests on GHA HADOOP-19857. Enable unit tests on GHA May 8, 2026
@pan3793 pan3793 marked this pull request as ready for review May 8, 2026 13:02
@hadoop-yetus
Copy link
Copy Markdown

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 18m 26s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 2s No case conflicting files found.
+0 🆗 codespell 0m 2s codespell was not available.
+0 🆗 detsecrets 0m 2s detect-secrets was not available.
+0 🆗 markdownlint 0m 2s markdownlint was not available.
+0 🆗 yamllint 0m 2s yamllint was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 72 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 1m 56s Maven dependency ordering for branch
+1 💚 mvninstall 42m 28s trunk passed
+1 💚 compile 16m 1s trunk passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 compile 16m 37s trunk passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 checkstyle 5m 43s trunk passed
+1 💚 mvnsite 18m 16s trunk passed
+1 💚 javadoc 9m 44s trunk passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javadoc 9m 33s trunk passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
-1 ❌ spotbugs 35m 2s /branch-spotbugs-root-warnings.html root in trunk has 92 extant spotbugs warnings.
+1 💚 shadedclient 28m 13s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 33s Maven dependency ordering for patch
+1 💚 mvninstall 39m 25s the patch passed
+1 💚 compile 16m 20s the patch passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javac 16m 20s the patch passed
+1 💚 compile 16m 41s the patch passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 javac 16m 41s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 5m 33s the patch passed
+1 💚 mvnsite 18m 21s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 9m 47s the patch passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javadoc 9m 31s the patch passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 spotbugs 45m 7s the patch passed
+1 💚 shadedclient 64m 49s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 519m 17s /patch-unit-root.txt root in the patch failed.
+1 💚 asflicense 1m 22s The patch does not generate ASF License warnings.
931m 1s
Subsystem Report/Notes
Docker ClientAPI=1.54 ServerAPI=1.54 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8452/30/artifact/out/Dockerfile
GITHUB PR #8452
Optional Tests dupname asflicense codespell detsecrets mvnsite markdownlint yamllint unit shellcheck compile javac javadoc mvninstall shadedclient xmllint spotbugs checkstyle
uname Linux 8fef155c3670 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / d7960fb
Default Java Ubuntu-17.0.18+8-Ubuntu-124.04.1
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.10+7-Ubuntu-124.04 /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.18+8-Ubuntu-124.04.1
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8452/30/testReport/
Max. process+thread count 3286 (vs. ulimit of 10000)
modules C: hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs hadoop-hdfs-project/hadoop-hdfs-rbf hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8452/30/console
versions git=2.43.0 maven=3.9.15 spotbugs=4.9.7 shellcheck=0.9.0
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

@pan3793
Copy link
Copy Markdown
Member Author

pan3793 commented May 9, 2026

@hadoop-yetus
Copy link
Copy Markdown

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 1m 4s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 1s No case conflicting files found.
+0 🆗 codespell 0m 1s codespell was not available.
+0 🆗 detsecrets 0m 1s detect-secrets was not available.
+0 🆗 markdownlint 0m 1s markdownlint was not available.
+0 🆗 yamllint 0m 1s yamllint was not available.
+0 🆗 xmllint 0m 1s xmllint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 72 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 3m 19s Maven dependency ordering for branch
+1 💚 mvninstall 46m 2s trunk passed
+1 💚 compile 17m 53s trunk passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 compile 19m 54s trunk passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 checkstyle 6m 8s trunk passed
+1 💚 mvnsite 22m 38s trunk passed
+1 💚 javadoc 10m 32s trunk passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javadoc 10m 25s trunk passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
-1 ❌ spotbugs 39m 38s /branch-spotbugs-root-warnings.html root in trunk has 92 extant spotbugs warnings.
+1 💚 shadedclient 32m 40s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 32s Maven dependency ordering for patch
+1 💚 mvninstall 46m 48s the patch passed
+1 💚 compile 19m 23s the patch passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javac 19m 23s the patch passed
+1 💚 compile 18m 22s the patch passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 javac 18m 22s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 5m 55s the patch passed
+1 💚 mvnsite 21m 29s the patch passed
+1 💚 shellcheck 0m 0s No new issues.
+1 💚 javadoc 10m 30s the patch passed with JDK Ubuntu-21.0.10+7-Ubuntu-124.04
+1 💚 javadoc 10m 6s the patch passed with JDK Ubuntu-17.0.18+8-Ubuntu-124.04.1
+1 💚 spotbugs 47m 37s the patch passed
+1 💚 shadedclient 65m 55s patch has no errors when building and testing our client artifacts.
_ Other Tests _
-1 ❌ unit 860m 40s /patch-unit-root.txt root in the patch failed.
+1 💚 asflicense 1m 53s The patch does not generate ASF License warnings.
1301m 19s
Reason Tests
Failed junit tests hadoop.yarn.server.router.webapp.TestRouterWebServicesREST
Subsystem Report/Notes
Docker ClientAPI=1.54 ServerAPI=1.54 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8452/32/artifact/out/Dockerfile
GITHUB PR #8452
Optional Tests dupname asflicense codespell detsecrets mvnsite markdownlint yamllint unit shellcheck compile javac javadoc mvninstall shadedclient xmllint spotbugs checkstyle
uname Linux 779d6f934fa1 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / 41a3758
Default Java Ubuntu-17.0.18+8-Ubuntu-124.04.1
Multi-JDK versions /usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.10+7-Ubuntu-124.04 /usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.18+8-Ubuntu-124.04.1
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8452/32/testReport/
Max. process+thread count 3478 (vs. ulimit of 10000)
modules C: hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs hadoop-hdfs-project/hadoop-hdfs-rbf hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests . U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8452/32/console
versions git=2.43.0 maven=3.9.15 spotbugs=4.9.7 shellcheck=0.9.0
Powered by Apache Yetus 0.14.1 https://yetus.apache.org

This message was automatically generated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants