Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SPARK-48137][INFRA] Run yarn test only in PR builders and Daily CIs #46395

Closed
wants to merge 1 commit into from

Conversation

dongjoon-hyun
Copy link
Member

@dongjoon-hyun dongjoon-hyun commented May 6, 2024

What changes were proposed in this pull request?

We have been providing a dedicated test environment for yarn and connect module because they are flaky.

However, they are still flaky. So, this PR aims to run yarn test only in PR builders (if needed) and Daily CIs (always).

  • Reduce the irrelevant re-tries by triggering YARN CI only when we need to test YARN module.
  • Protect YARN CI from connect flakiness by providing an independent GitHub Action environment in PR Builders and Daily CIs.
  • Lastly, commit builder will offload YARN module tests to the daily CIs

Why are the changes needed?

[info] *** 6 TESTS FAILED ***
[error] Failed tests:
[error] 	org.apache.spark.deploy.yarn.YarnClusterSuite
[error] (yarn / Test / test) sbt.TestsFailedException: Tests unsuccessful
Screenshot 2024-05-05 at 20 12 28

Does this PR introduce any user-facing change?

No.

How was this patch tested?

Manual review.

Was this patch authored or co-authored using generative AI tooling?

No.

@github-actions github-actions bot added the INFRA label May 6, 2024
@dongjoon-hyun dongjoon-hyun changed the title [SPARK-48137][INFRA] Run yarn test only in PR builders and Maven Daily CIs [SPARK-48137][INFRA] Run yarn test only in PR builders and Daily CIs May 6, 2024
@dongjoon-hyun dongjoon-hyun force-pushed the SPARK-48137 branch 2 times, most recently from 92fd00c to 7b81deb Compare May 6, 2024 02:45
@dongjoon-hyun dongjoon-hyun marked this pull request as draft May 6, 2024 02:47
@dongjoon-hyun
Copy link
Member Author

WDYT, @HyukjinKwon ?

@dongjoon-hyun dongjoon-hyun marked this pull request as ready for review May 6, 2024 02:59
@dongjoon-hyun
Copy link
Member Author

Alternatively, we can ignore YarnClusterSuite completely. However, I'm not sure who is going to take on that JIRA issue in the future. So, I choose this path.

@dongjoon-hyun
Copy link
Member Author

Could you review this PR too, @LuciferYang ?

Copy link
Contributor

@LuciferYang LuciferYang left a comment

Choose a reason for hiding this comment

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

LGTM

@dongjoon-hyun
Copy link
Member Author

Thank you so much! Merged to master~

@dongjoon-hyun dongjoon-hyun deleted the SPARK-48137 branch May 6, 2024 06:01
@@ -80,12 +80,14 @@ jobs:
pyspark=`./dev/is-changed.py -m $pyspark_modules`
if [[ "${{ github.repository }}" != 'apache/spark' ]]; then
pandas=$pyspark
yarn=`./dev/is-changed.py -m yarn`
Copy link
Contributor

Choose a reason for hiding this comment

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

Sorry, I just reviewed modules.py and have a small question: if the common/network-yarn module has changed, should yarn also be set to true?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, source_file_regexes has common/network-yarn and I believe it makes sense.

yarn = Module(
name="yarn",
dependencies=[],
source_file_regexes=[
"resource-managers/yarn/",
"common/network-yarn/",
],
build_profile_flags=["-Pyarn"],
sbt_test_goals=[
"yarn/test",
"network-yarn/test",
],
test_tags=["org.apache.spark.tags.ExtendedYarnTest"],
)

dongjoon-hyun added a commit that referenced this pull request May 7, 2024
### What changes were proposed in this pull request?

This PR aims to merge connect back to the original test pipeline to reduce the maximum concurrency of GitHub Action by one.
- https://infra.apache.org/github-actions-policy.html
  > All workflows SHOULD have a job concurrency level less than or equal to 15.

### Why are the changes needed?

This is a partial recover from the following.
- #45107

We stabilized the root cause of #45107 via the following PRs. In addition we will disable a flaky test case if exists.

- #46395
- #46396
- #46425

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Pass the CIs.

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes #46441 from dongjoon-hyun/SPARK-48174.

Authored-by: Dongjoon Hyun <dhyun@apple.com>
Signed-off-by: Dongjoon Hyun <dhyun@apple.com>
JacobZheng0927 pushed a commit to JacobZheng0927/spark that referenced this pull request May 11, 2024
### What changes were proposed in this pull request?

We have been providing a dedicated test environment for `yarn` and `connect` module because they are flaky.
- apache#45107

However, they are still flaky. So, this PR aims to run `yarn` test only in PR builders (if needed) and Daily CIs (always).
- Reduce the irrelevant re-tries by triggering `YARN CI` only when we need to test `YARN` module.
- Protect YARN CI from `connect` flakiness by providing an independent GitHub Action environment in PR Builders and Daily CIs.
- Lastly, commit builder will offload YARN module tests to the daily CIs

### Why are the changes needed?

- PR builders provide an extensive test coverage with YARN testing.
- Daily CIs with YARN tests
   - NON-ANSI CI: https://github.com/apache/spark/actions/workflows/build_non_ansi.yml (1AM)
   - Java 21 SBT CI: https://github.com/apache/spark/actions/workflows/build_java21.yml (4AM)
   - RockDB UI CI: https://github.com/apache/spark/actions/workflows/build_rockdb_as_ui_backend.yml (6AM)
   - Maven Java 17 CI: https://github.com/apache/spark/actions/workflows/build_maven.yml (1PM)
   - Maven Java 21 CI: https://github.com/apache/spark/actions/workflows/build_maven_java21.yml (2PM)
   - Maven Java 21 on AppleSilicon CI: https://github.com/apache/spark/actions/workflows/build_maven_java21_macos14.yml (8PM every two days)

- YARN CI has been flaky in GitHub Action environment and requires irrelevant re-tries very frequently.
    - https://github.com/apache/spark/actions/runs/8962451417/job/24611353908 (2024-05-05)
    - https://github.com/apache/spark/actions/runs/8962440192/job/24611326971 (2024-05-05)

```
[info] *** 6 TESTS FAILED ***
[error] Failed tests:
[error] 	org.apache.spark.deploy.yarn.YarnClusterSuite
[error] (yarn / Test / test) sbt.TestsFailedException: Tests unsuccessful
```

  <img width="544" alt="Screenshot 2024-05-05 at 20 12 28" src="https://github.com/apache/spark/assets/9700541/cbf9fb03-fc4c-4513-b5e5-158c3c9a085a">

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Manual review.

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes apache#46395 from dongjoon-hyun/SPARK-48137.

Authored-by: Dongjoon Hyun <dhyun@apple.com>
Signed-off-by: Dongjoon Hyun <dhyun@apple.com>
JacobZheng0927 pushed a commit to JacobZheng0927/spark that referenced this pull request May 11, 2024
### What changes were proposed in this pull request?

This PR aims to merge connect back to the original test pipeline to reduce the maximum concurrency of GitHub Action by one.
- https://infra.apache.org/github-actions-policy.html
  > All workflows SHOULD have a job concurrency level less than or equal to 15.

### Why are the changes needed?

This is a partial recover from the following.
- apache#45107

We stabilized the root cause of apache#45107 via the following PRs. In addition we will disable a flaky test case if exists.

- apache#46395
- apache#46396
- apache#46425

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Pass the CIs.

### Was this patch authored or co-authored using generative AI tooling?

No.

Closes apache#46441 from dongjoon-hyun/SPARK-48174.

Authored-by: Dongjoon Hyun <dhyun@apple.com>
Signed-off-by: Dongjoon Hyun <dhyun@apple.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
2 participants