HDDS-15404. Enable short-circuit unit test in CI#10377
Conversation
|
Please wait for clean CI run in fork before opening PR. |
@adoroszlai, just a discussion, it looks like personal github account has very limited resource than apache account, an example is this patch, from yesterday to today, many actions of one CI run was queued for a considered time(more than 30 mins) to get executed, which is inefficient for debug issues existed only with CI flow, as I had to wait for the CI to get executed. In the meanwhile, it's not recommended to use apache CI resource, do you mind explaining a bit more about the reason? |
Personal account is limited to 20 concurrent jobs. For full Ozone CI, that's about 1 commit per hour. Apache organization may have higher limits, but it is shared between many repositories and even more developers. ASF policy for GitHub Actions imposes limits on resource use. Also, each Apache repo still has limited concurrency, which can be observed when CI for several PRs are in flight or multiple PRs are merged around the same time. Note that both forks and shared repos may be affected by occasional GitHub Actions outages, which was the case this week. To iterate faster in your fork when debugging, temporarily disable unrelated jobs and splits on your dev branch (example: adoroszlai@9a51d89). You may also run integration tests targetedly via Also, I think you can disable |
|
There are 4 integration tests, all belong to "ozone-integration-test" module, but two integration categories. The tests in client category passed, and those in hdds failed due to libhadoop not found . I add the profile "test-short-circuit" in last commit, and "-Ptest-short-circuit" when integration.sh is called. Latest CI: https://github.com/ChenSammi/ozone/actions/runs/26620467488/job/78446176255 One workaround is move all these test classes into one package, so they will be included in only one integration run category. But I'd like to know why integration(hdds) doesn't have the libhadoop. |
They use fresh environment, since they are executed on separate runner instances.
The failed split (hdds) also had Hadoop native libraries:
This results in a new split, as they are derived from profiles named
You can keep them in their current package by adding Lines 2783 to 2804 in bf68f20 Otherwise please rename the new profile to something like |
is output by dist-layout-stitching. I assume dist-layout-stitching is only called when -Pdist is enabled, does each integration run command "COMMAND: hadoop-ozone/dev-support/checks/integration.sh -Ptest-ozone -Drocks_tools_native" will also call dist-layout-stitching? |
No,
Yes, otherwise it would not appear in the integration check's log. |
What changes were proposed in this pull request?
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-15404
How was this patch tested?
Test locally with commands and passed